From 3c4d54bcb66d7cec4a35defc999250e200b4fdd2 Mon Sep 17 00:00:00 2001 From: baizonghao <1719256278@qq.com> Date: 星期四, 25 五月 2023 15:39:37 +0800 Subject: [PATCH] 不予立案 --- src/views/cause/Entry.vue | 1556 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 1,521 insertions(+), 35 deletions(-) diff --git a/src/views/cause/Entry.vue b/src/views/cause/Entry.vue index a98f71b..4c050a3 100644 --- a/src/views/cause/Entry.vue +++ b/src/views/cause/Entry.vue @@ -4,10 +4,10 @@ <template slot="header"> <el-form :inline="true" :model="queryInfo" class="demo-form-inline"> <el-form-item label="妗堜欢锛�"> - <el-input placeholder="璇疯緭鍏ユ浠剁紪鍙锋垨鍚嶇О" v-model="queryInfo.title"></el-input> + <el-input placeholder="璇疯緭鍏ユ浠剁紪鍙锋垨鍚嶇О" v-model="queryInfo.cause"></el-input> </el-form-item> <el-form-item label="妗堜欢鐘舵�侊細"> - <el-select v-model="queryInfo.status" placeholder="璇烽�夋嫨"> + <el-select v-model="queryInfo.status" placeholder="璇烽�夋嫨" :style="{ width: '120px' }"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> @@ -16,10 +16,14 @@ <el-button type="primary" @click="search">鏌ヨ</el-button> </el-form-item> <el-form-item> - <el-button type="primary" @click="addDialogOpen">娣诲姞</el-button> + <el-button type="primary" @click="addAduitAnJian">娣诲姞</el-button> </el-form-item> + <el-form-item> - <el-button type="primary" @click="exportExcel">瀵煎叆</el-button> + <el-upload name="multipartFile" class="upload-demo" action="/api/cause/upload " :show-file-list="false" + :before-upload="beforeAvatarUpload" :on-success="respond" :limit="1"> +<!-- <el-button type="primary">瀵煎叆</el-button>--> + </el-upload> </el-form-item> </el-form> </template> @@ -31,80 +35,1490 @@ </el-table-column> <el-table-column prop="reportNumber" label="鎶ユ浜烘暟" width="100" header-align="center" align="center"> </el-table-column> - <el-table-column prop="firstTime" label="鏈�鏃╁彂妗堟棩鏈�" width="150" header-align="center" align="center"> + <el-table-column prop="totalMoney" label="棰勪及鎬婚噾棰�" width="100" header-align="center" align="center"> </el-table-column> - <el-table-column prop="status" label="妗堜欢鐘舵��" width="110" header-align="center"> + <el-table-column prop="firstTime" label="鏈�鏃╁彂妗堟棩鏈�" width="160" header-align="center" align="center"> + </el-table-column> + <el-table-column prop="status" label="妗堜欢鐘舵��" width="110" header-align="center" align="center"> + <template slot-scope="scope"> + <span v-if="scope.row.status == 5">涓嶄簣绔嬫</span> + <span v-if="scope.row.status == 0">绔嬫</span> + <span v-if="scope.row.status == 1">鍒濇煡</span> + <span v-if="scope.row.status == 2">鍙楃悊</span> + <span v-if="scope.row.status == 3">绉婚�佽捣璇�</span> + <span v-if="scope.row.status == 4">缁撴</span> + </template> </el-table-column> <el-table-column prop="userName" label="璐熻矗浜�" width="130" header-align="center" align="center"> </el-table-column> <el-table-column prop="ctime" label="鍒涘缓鏃ユ湡" width="160" header-align="center" align="center"> </el-table-column> <el-table-column label="鎿嶄綔" width="240" header-align="center" align="center"> - <el-button type="text" size="medium" @click="handleAudit(scope.row)">缂栬緫</el-button> - <el-button type="text" size="medium" @click="handleAudit(scope.row)">鎶ユ浜哄憳</el-button> - <el-button type="text" size="medium" @click="handleAudit(scope.row)">缇ゅ叕鍛�</el-button> - <el-button type="text" size="medium" @click="handleAudit(scope.row)" style="color:#ff0000" >鍒犻櫎</el-button> + <template slot-scope="scope"> + <el-button type="text" size="medium" @click="updateCauseDialogVisible(scope.row)">缂栬緫</el-button> + <el-button type="text" size="medium" @click="reporterVisibleBefore(scope.row.id)">鎶ユ浜哄憳</el-button> + <el-button type="text" size="medium" @click="groupAn(scope.row.groupId)">缇ゅ叕鍛�</el-button> + <el-button type="text" size="medium" @click="removeCause(scope.row.id)" style="color:#ff0000">鍒犻櫎 + </el-button> + </template> </el-table-column> </el-table> </template> - - <el-pagination @current-change="handleCurrentChange" :current-page="queryInfo.current" :page-size="queryInfo.size" layout="prev, pager, next" :total="total"></el-pagination> - </el-pagination> </el-card> + + <!--娣诲姞妗堜欢寮圭獥--> + <el-dialog title="娣诲姞妗堜欢" :visible.sync="addAduitDialogVisible" :before-close="addAduitClose"> + <el-row :gutter="15"> + <el-form ref="causeForm" :model="causeForm" :rules="addCauseRules" size="medium" label-width="140px"> + <el-col :span="12"> + <el-form-item label="妗堜欢缂栧彿 " prop="number"> + <el-input v-model="causeForm.number" clearable :style="{ width: '100%' }" placeholder="杈撳叆妗堜欢缂栧彿"> + </el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="妗堜欢鍚嶇О" prop="name"> + <el-input v-model="causeForm.name" clearable :style="{ width: '100%' }" placeholder="杈撳叆妗堜欢鍚嶇О"> + </el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="棰勪及鎬婚噾棰�" prop="totalMoney"> + <el-input v-model="causeForm.totalMoney" clearable :style="{ width: '100%' }" + placeholder="杈撳叆棰勪及鎬婚噾棰�"></el-input> + </el-form-item> + </el-col> + <el-col :span="24"> + <el-form-item label="鏈�鏃╁彂妗堟椂闂�" prop="firstTime"> + <el-date-picker v-model="causeForm.firstTime" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" clearable + :style="{ width: '40%' }" value-format="yyyy-MM-dd HH:mm:ss"> + </el-date-picker> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="妗堜欢鐘舵��" prop="status"> + <el-select v-model="causeForm.status" placeholder="璇烽�夋嫨涓嬫媺閫夋嫨" clearable :style="{ width: '100%' }"> + <el-option v-for="item in causeOptions" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="璐熻矗浜�" prop="userId"> + <el-select v-model="causeForm.userId" placeholder="璇烽�夋嫨涓嬫媺閫夋嫨" clearable :style="{ width: '100%' }"> + <el-option v-for="item in user" :key="item.userId" :label="item.userName" :value="item.userId" + :disabled="item.disabled"></el-option> + </el-select> + </el-form-item> + </el-col> + + <el-col :span="24"> + <el-form-item label="妗堜欢鎻忚堪" prop="description"> + <el-input v-model="causeForm.description" type="textarea" placeholder="璇疯緭鍏ュ琛屾枃鏈�" + :autosize="{ minRows: 4, maxRows: 8 }" :style="{ width: '100%' }"> + </el-input> + </el-form-item> + </el-col> + </el-form> + </el-row> + <span slot="footer" class="dialog-footer"> + <el-button @click="addAduitDialogVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="createCause">纭� 瀹�</el-button> + </span> + </el-dialog> + + <!--淇敼妗堜欢寮圭獥--> + <el-dialog title="淇敼妗堜欢" :visible.sync="updateAduitDialogVisible" width="50%" :before-close="updateAduitClose"> + <el-row :gutter="15"> + <el-form ref="addAduitForm" :model="updataCauseForm" size="medium" label-width="100px"> + <el-col :span="12"> + <el-form-item label="妗堜欢缂栧彿 " prop="number"> + <el-input v-model="updataCauseForm.number" clearable :style="{ width: '100%' }"> + </el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="妗堜欢鍚嶇О" prop="name"> + <el-input v-model="updataCauseForm.name" clearable :style="{ width: '100%' }"> + </el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="棰勪及鎬婚噾棰�" prop="totalMoney"> + <el-input v-model="updataCauseForm.totalMoney" clearable :style="{ width: '100%' }"></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="鏈�鏃╁彂妗堟椂闂�" prop="firstTime"> + <el-date-picker v-model="updataCauseForm.firstTime" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" + :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss"> + </el-date-picker> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="妗堜欢鐘舵��" prop="status"> + <el-select v-model="updataCauseForm.status" clearable :style="{ width: '100%' }"> + <el-option v-for="item in causeOptions" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="璐熻矗浜�" prop="userId"> + <el-select v-model="updataCauseForm.userName" clearable :style="{ width: '100%' }"> + <el-option v-for="item in user" :key="item.userId" :label="item.userName" :value="item.userId" + :disabled="item.disabled"></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="24"> + <el-form-item label="妗堜欢鎻忚堪" prop="description"> + <el-input v-model="updataCauseForm.description" type="textarea" placeholder="璇疯緭鍏ュ琛屾枃鏈�" + :autosize="{ minRows: 4, maxRows: 8 }" :style="{ width: '100%' }"> + </el-input> + </el-form-item> + </el-col> + </el-form> + </el-row> + <span slot="footer" class="dialog-footer"> + <el-button @click="updateAduitDialogVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="updateCause">纭� 瀹�</el-button> + </span> + </el-dialog> + + <!--妗堜欢浜哄憳寮圭獥--> + <el-dialog title="鎶ユ浜哄憳" :visible.sync="reporterVisible" width="85%" :before-close="reporterVisibleClose"> + <el-row :gutter="15"> + <el-card style="height: 100%"> + <template slot="header"> + <el-form :inline="true" :model="queryInfoReport" class="demo-form-inline"> + <el-form-item label="鎶ユ浜�:"> + <el-input placeholder="璇疯緭鍏ュ鍚�" v-model="queryInfoReport.people" :style="{ width: '180px' }"> + </el-input> + </el-form-item> + <el-form-item label="鎵嬫満鍙风爜:"> + <el-input placeholder="璇疯緭鍏�" v-model="queryInfoReport.phoneNumber" :style="{ width: '120px' }"> + </el-input> + </el-form-item> + <el-form-item label="鏄惁宸茶繘缇�:"> + <el-select v-model="queryInfoReport.isInGroup" :style="{ width: '100px' }"> + <el-option v-for="item in optionsGroup" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> +<!-- </el-form-item>--> + +<!-- <el-form-item label="鎶ユ鏉愭枡:">--> +<!-- <el-select v-model="queryInfoReport.HavaMaterial" :style="{ width: '100px' }">--> +<!-- <el-option v-for="item in optionsMate" :key="item.value" :label="item.label" :value="item.value">--> +<!-- </el-option>--> +<!-- </el-select>--> +<!-- </el-form-item>--> + +<!-- <el-form-item>--> + <el-button type="primary" @click="searchByCondition">鏌ヨ</el-button> + </el-form-item> + <el-form-item> + <el-button type="primary" @click="addVisibelReport">娣诲姞</el-button> + <el-button type="primary" @click="exportExcel">瀵煎嚭</el-button> + </el-form-item> + <el-form-item> + <el-upload name="multipartFile" class="upload-demo" action="/api/cause/reporterUpload" + :show-file-list="false" :data="{ causeId: this.reportCauseId }" :before-upload="beforeAvatarUpload" + :on-success="reporterRespond" :limit="1"> +<!-- <el-button type="primary">瀵煎叆</el-button>--> + </el-upload> + </el-form-item> + <el-form-item> +<!-- <el-button type="primary" @click="exportExcel">鎶ユ鏉愭枡瀵煎嚭</el-button>--> + </el-form-item> + + </el-form> + </template> + <el-table :data="reportList"> + <el-table-column width="80" prop="pic" label="澶村儚"> + <template slot-scope="scope"> + <img :src="scope.row.pic" style="width: 40px;height: 40px; border-radius: 50%;"> + </template> + </el-table-column> + <el-table-column width="80" prop="reporterName" label="鎶ユ浜�"></el-table-column> + <el-table-column width="120" prop="mobile" label="鎵嬫満鍙�"></el-table-column> + <el-table-column width="180" prop="idcard" label="璇佷欢鍙风爜"></el-table-column> + <el-table-column width="100" prop="isCommission" label="鏄惁浠e姙"> + <template slot-scope="scope"> + <span v-if="scope.row.isCommission == 1">鏄�</span> + <span v-else>鍚�</span> + </template> + </el-table-column> + <el-table-column width="100" prop="isInGroup" label="鏄惁杩涚兢"> + <template slot-scope="scope"> + <span v-if="scope.row.isInGroup == 1">鏄�</span> + <span v-else>鍚�</span> + </template> + </el-table-column> + <el-table-column width="100" prop="amountInvolved" label="娑夋閲戦"> + <template slot-scope="scope"> + <span>{{ scope.row.amountInvolved === null ? 0 : scope.row.amountInvolved }}</span> + </template> + </el-table-column> + <el-table-column width="100" prop="reportMaterials" label="鎶ユ鏉愭枡"> + <template slot-scope="scope"> + <span>{{ scope.row.reportMaterials === null || scope.row.reportMaterials === '' ? "鏈彁浜�" : "宸叉彁浜�" +}}</span> + </template> + </el-table-column> + <el-table-column width="200" prop="reportTime" label="鎶ユ鏃堕棿"> + <template slot-scope="scope"> + <span>{{ scope.row.reportTime === null ? "2022-07-12 10:32:56" : scope.row.reportTime }}</span> + </template> + </el-table-column> + <el-table-column label="鎿嶄綔"> + <template slot-scope="scope"> +<!-- <el-button type="text" size="medium" @click="updataReport(scope.row)">缂栬緫</el-button>--> +<!-- <el-button type="text" size="medium"--> +<!-- @click="leaveReport(scope.row.id, scope.row.causeId, scope.row.groupId)" style="color:#ff0000"--> +<!-- :disabled="scope.row.isInGroup == 0">閫�缇� </el-button>--> +<!-- <el-button type="text" size="medium" @click="removeReport(scope.row.id, scope.row.causeId)"--> +<!-- style="color:#ff0000" :disabled="scope.row.isInGroup == 1">鍒犻櫎 </el-button>--> + <el-button type="text" size="medium" @click="removeReport(scope.row.id, scope.row.causeId)" + style="color:#ff0000" >鍒犻櫎 </el-button> + </template> + </el-table-column> + </el-table> + <el-pagination @current-change="pageReport" :current-page="queryInfoReport.current" + :page-size="queryInfoReport.size" layout="prev, pager, next" :total="reportTotal"></el-pagination> + </el-card> + + <!--娣诲姞浜哄憳寮圭獥--> + <el-dialog title="娣诲姞浜哄憳" :visible.sync="addReportVisible" width="50%" :append-to-body="true" + :before-close="addReportVisibleClose"> + <el-row :gutter="15"> + <el-form ref="auditFrom" :model="auditFrom" :rules="addReportRules" size="medium" label-width="100px"> + <el-col :span="12"> + <el-form-item label="澶村儚" prop="pic" required> + <el-upload ref="pic" action="/api/minio/upload" :show-file-list="false" + :on-success="handleAvatarSuccess" list-type="picture-card" accept="image/*"> + <img v-if="picShow" :src="picShow" style="width: 145px;height: 145px"> + <i v-else class="el-icon-plus"></i> + </el-upload> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="鎶ユ浜� " prop="reporterName"> + <el-input v-model="auditFrom.reporterName" placeholder="璇疯緭鍏ユ姤妗堜汉 " clearable :style="{ width: '100%' }"> + </el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="鎵嬫満鍙风爜" prop="mobile"> + <el-input v-model="auditFrom.mobile" placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" clearable :style="{ width: '100%' }"> + </el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="韬唤璇佸彿" prop="idcard"> + <el-input v-model="auditFrom.idcard" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" clearable :style="{ width: '100%' }"> + </el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="琚獥鏃堕棿" prop="cheatTime"> + <el-date-picker v-model="auditFrom.cheatTime" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" clearable + :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="娑夋閲戦" prop="amountInvolved"> + <el-input v-model="auditFrom.amountInvolved" placeholder="璇疯緭鍏ユ秹妗堥噾棰�" clearable + :style="{ width: '100%' }"> + </el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="妗堜欢鎻忚堪" prop="reportDescription"> + <el-input v-model="auditFrom.reportDescription" placeholder="璇疯緭鍏ユ浠舵弿杩�" clearable + :style="{ width: '100%' }"></el-input> + </el-form-item> + </el-col> + <el-col :span="24"> + <el-form-item label="琛ュ厖淇℃伅" prop="information"> + <el-input v-model="auditFrom.information" type="textarea" placeholder="璇疯緭鍏ヨˉ鍏呬俊鎭�" clearable + :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }"></el-input> + </el-form-item> + </el-col> + <el-col :span="24"> + <el-form-item label="涓婁紶" prop="fileList"> + <el-upload ref="reportMaterials" :file-list="auditFrom.fileList" action="/api/minio/upload" + list-type="picture" :on-success="handleMaterialSuccess"> + <el-button size="small" type="primary" icon="el-icon-upload">鐐瑰嚮涓婁紶</el-button> + </el-upload> + </el-form-item> + </el-col> + </el-form> + </el-row> + <span slot="footer" class="dialog-footer"> + <el-button @click="addReportVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="addAduit">纭� 瀹�</el-button> + </span> + </el-dialog> + + <!--淇敼妗堜欢浜哄憳寮圭獥--> + <el-dialog title="淇敼浜哄憳" :visible.sync="updateReportVisible" width="50%" :append-to-body="true" + :before-close="updateReportVisibleclose"> + <el-row :gutter="20"> + <el-form ref="updateReportForm" :model="updateReportForm" size="medium" label-width="100px"> + <el-col :span="12"> + <el-form-item label="澶村儚" prop="pic" required> + <el-upload ref="pic" action="/api/minio/upload" :show-file-list="false" + :on-success="handleAvatarSuccess" list-type="picture-card" accept="image/*"> + <img v-if="updateReportForm.pic!=null||updateReportForm!=''" :src="updateReportForm.pic" style="width: 145px;height: 145px"> + <i v-else class="el-icon-plus"></i> + </el-upload> + </el-form-item> + </el-col> + + <el-col :span="12"> + <el-form-item label="鎶ユ浜� " prop="reporterName"> + <el-input v-model="updateReportForm.reporterName" placeholder="璇疯緭鍏ユ姤妗堜汉 " clearable :style="{ width: '100%' }"> + </el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="鎵嬫満鍙风爜" prop="mobile"> + <el-input v-model="updateReportForm.mobile" placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" clearable :style="{ width: '100%' }"> + </el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="韬唤璇佸彿" prop="idcard"> + <el-input v-model="updateReportForm.idcard" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" clearable :style="{ width: '100%' }"> + </el-input> + </el-form-item> + </el-col> + + <!-- <el-col :span="12"> + <el-form-item prop="reportTime" label="鎶ユ鏃堕棿"> + <el-date-picker v-model="updateReportForm.reportTime" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" clearable + :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss"> + </el-date-picker> + </el-form-item> + </el-col> --> + <el-col :span="12"> + <el-form-item label="琚獥鏃堕棿" prop="cheatTime"> + <el-date-picker v-model="updateReportForm.cheatTime" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" clearable + :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="娑夋閲戦" prop="amountInvolved"> + <el-input v-model="updateReportForm.amountInvolved" placeholder="璇疯緭鍏ユ秹妗堥噾棰�" clearable + :style="{ width: '100%' }"> + </el-input> + </el-form-item> + </el-col> + <el-col :span="24"> + <el-form-item label="妗堜欢鎻忚堪" prop="reportDescription"> + <el-input v-model="updateReportForm.reportDescription" placeholder="璇疯緭鍏ユ浠舵弿杩�" clearable + :style="{ width: '100%' }"></el-input> + </el-form-item> + </el-col> + <el-col :span="24"> + <el-form-item label="琛ュ厖淇℃伅" prop="information"> + <el-input v-model="updateReportForm.information" type="textarea" placeholder="璇疯緭鍏ヨˉ鍏呬俊鎭�" clearable + :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }"></el-input> + </el-form-item> + </el-col> + <el-col :span="24"> + <el-form-item label="涓婁紶" prop="fileList" required> + <el-upload ref="reportMaterials" :file-list="updateReportForm.fileList" action="/api/minio/upload" + list-type="picture" :on-success="handleReporterMaterialSuccess"> + <img v-if="updateReportForm.reportMaterials!=''" :src="'/minio/img/'+updateReportForm.reportMaterials" style="width: 145px;height: 145px"> + <el-button size="small" type="primary" icon="el-icon-upload">鐐瑰嚮涓婁紶</el-button> + </el-upload> + </el-form-item> + </el-col> + <!-- <el-col :span="24"> + <el-form-item label="涓婁紶" prop="fileList" required> + <el-upload ref="reportMaterials" :file-list="auditFrom.fileList" action="/api/minio/upload" + list-type="picture" :on-success="handleMaterialSuccess"> + <el-button size="small" type="primary" icon="el-icon-upload">鐐瑰嚮涓婁紶</el-button> + </el-upload> + </el-form-item> + </el-col> --> + + </el-form> + </el-row> + <span slot="footer" class="dialog-footer"> + <el-button @click="updateReportVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="updateReportInCasue">纭� 瀹�</el-button> + </span> + </el-dialog> + + + + </el-row> + <!-- <span slot="footer" class="dialog-footer"> + <el-button @click="reporterVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="updateCause">纭� 瀹�</el-button> + </span> --> + </el-dialog> + + + <!--缇ゅ叕鍛婂脊绐�--> + <el-dialog title="缇ゅ叕鍛�" :visible.sync="groupAnVisible" width="85%" :before-close="groupAnVisibleClose"> + <el-row :gutter="15"> + <el-card style="height: 100%"> + <template slot="header"> + <el-form :inline="true" :model="queryInfoGroupAn" class="demo-form-inline"> + <el-form-item label="缇ゅ叕鍛婏細"> + <el-input placeholder="璇疯緭鍏�" v-model="queryInfoGroupAn.content"></el-input> + </el-form-item> + <el-form-item label="鐘舵��"> + <el-select v-model="queryInfoGroupAn.status" placeholder="璇烽�夋嫨" :style="{ width: '100px' }"> + <el-option v-for="item in statusMate" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + </el-form-item> + + <el-form-item> + <el-button type="primary" @click="groupAnSearch">鏌ヨ</el-button> + </el-form-item> + <el-form-item> + <el-button type="primary" @click="openGroupAn">娣诲姞</el-button> + </el-form-item> + + </el-form> + </template> + <el-table :data="groupAnFrom"> + <el-table-column label="搴忓彿" type="index" width="120" align="center"> + <template slot-scope="scope"> + <span>{{ (current - 1) * size + scope.$index + 1 }}</span> + </template> + </el-table-column> + <el-table-column width="180" prop="text" label="缇ょ粍鍏憡"></el-table-column> + <el-table-column width="120" prop="status" label="鐘舵��"> + <template slot-scope="scope"> + <span v-if="scope.row.status === 1">宸插彂甯�</span> + <span v-else-if="scope.row.status === 0">鏈彂甯�</span> + <span v-else="scope.row.status=== 2">宸蹭笅鏋�</span> + </template> + </el-table-column> + <el-table-column width="100" prop="createName" label="鍒涘缓浜�"></el-table-column> + <el-table-column width="180" prop="publishTime" label="鍙戝竷鏃堕棿"> + </el-table-column> + <el-table-column label="鎿嶄綔" align="conter"> + <template slot-scope="scope"> + <el-button type="text" size="medium" @click="details(scope.row.id)">璇︽儏</el-button> + <el-button type="text" size="medium" @click="punlishOrUnshelve(scope.row.id, scope.row.status)" + :disabled="scope.row.status == 2"> + <span v-if="scope.row.status === 1" style="color:#ff0000">涓嬫灦</span> + <span v-else>鍙戝竷</span> + </el-button> + <el-button type="text" size="medium" @click="removeGroupAn(scope.row.id)" style="color:#ff0000" + :disabled="scope.row.status == 1">鍒犻櫎 + </el-button> + </template> + </el-table-column> + </el-table> + <el-pagination @current-change="pageGroupAn" :current-page="queryInfoGroupAn.current" + :page-size="queryInfoGroupAn.size" layout="prev, pager, next" :total="groupAnTotal"></el-pagination> + </el-card> + + <!--娣诲姞缇ゅ叕鍛婂脊绐�--> + <el-dialog title="缇ょ粍鍏憡娣诲姞" :visible.sync="addGroupAnVisibel" width="50%" :before-close="addGroupAnClose" + :append-to-body="true"> + <el-row :gutter="15"> + <el-form ref="addGroupForm" :model="addGroupForm" :rules="rules" size="medium" label-width="100px"> + <el-col :span="24"> + <el-form-item label="鍏憡鍐呭 " prop="text"> + <el-input v-model="addGroupForm.text" type="textarea" placeholder="璇疯緭鍏ュ叕鍛婂唴瀹�" clearable + :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }"></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="鍏憡鏈夋晥鏈�" prop="effectiveStime"> + <el-date-picker v-model="addGroupForm.effectiveStime" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" clearable + :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss"> + </el-date-picker> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="鑷�" prop="effectiveEtime"> + <el-date-picker v-model="addGroupForm.effectiveEtime" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" clearable + :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss"> + </el-date-picker> + </el-form-item> + </el-col> + <el-col :span="12"> + + <el-form-item label="绔嬪嵆鍙戝竷" prop="status"> + <el-select v-model="addGroupForm.status" clearable placeholder="璇烽�夋嫨涓嬫媺閫夋嫨" :style="{ width: '100%' }"> + <el-option v-for="item in groupStatusMate" :key="item.value" :label="item.label" :value="item.value" + :disabled="item.disabled"></el-option> + </el-select> + </el-form-item> + </el-col> + + </el-form> + </el-row> + <span slot="footer" class="dialog-footer"> + <el-button @click="addGroupAnVisibel = false">鍙� 娑�</el-button> + <el-button type="primary" @click="addGroupAn">纭� 瀹�</el-button> + </span> + </el-dialog> + + <!--缇ゅ叕鍛婅鎯呭脊绐�--> + <el-dialog title="缇ょ粍鍏憡璇︽儏" :visible.sync="detailsVisible" width="50%" :append-to-body="true" + :before-close="detailsVisibleclose"> + + <el-row :gutter="15"> + <el-form ref="addGroupForm" :model="addGroupForm" size="medium" label-width="100px"> + <el-col :span="24"> + <el-form-item label="鍏憡鍐呭 " prop="text"> + <el-input v-model="detailsGroupAn.text" type="textarea" placeholder="璇疯緭鍏ュ叕鍛婂唴瀹�" disabled + :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }"></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="鍏憡鏈夋晥鏈�" prop="effectiveStime"> + <el-date-picker v-model="detailsGroupAn.effectiveStime" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" disabled + :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss"> + </el-date-picker> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="鑷�" prop="effectiveEtime"> + <el-date-picker v-model="detailsGroupAn.effectiveEtime" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" disabled + :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss"> + </el-date-picker> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="鍙戝竷鏃堕棿" prop="effectiveEtime"> + <el-date-picker v-model="detailsGroupAn.publishTime" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" disabled + :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss"> + </el-date-picker> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="鍒涘缓浜�" prop="effectiveEtime"> + <el-input v-model="detailsGroupAn.createName" disabled></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="鐘舵��" prop="status"> + <span v-if="detailsGroupAn.status === 1">宸插彂甯�</span> + <span v-else-if="detailsGroupAn.status === 0">鏈彂甯�</span> + <span v-else="detailsGroupAn.status === 2">宸蹭笅鏋�</span> + </el-form-item> + </el-col> + </el-form> + </el-row> + + + <!-- <div style="display:flex; width:180;"> + <div style="display:flex; width:180;"> + <h4>缇ょ粍鍏憡</h4> + <p>{{ detailsGroupAn.text }}</p> + </div> + <div style="display:flex; width:180;"> + <h4>鐘舵��</h4> + <p>{{ detailsGroupAn.status }}</p> + </div> + <div style="display:flex; width:180;"> + <h4>鍒涘缓浜�</h4> + <p>{{ detailsGroupAn. }}</p> + </div> + <div style="display:flex; width:180;"> + <h4>鍙戝竷鏃堕棿</h4> + <p>{{ detailsGroupAn.publishTime }}</p> + </div> + <div style="display:flex; width:180;"> + <h4>缇ょ粍鍏憡</h4> + <p>{{ detailsGroupAn.text }}</p> + </div> + </div> --> + + <!-- <el-table-column width="180" prop="effectiveStime" label="缇ょ粍鍏憡"></el-table-column> + <el-table-column width="120" prop="status" label="鐘舵��"> + <template slot-scope="scope"> + <span v-if="scope.row.status === 1">宸插彂甯�</span> + <span v-else-if="scope.row.status === 0">鏈彂甯�</span> + <span v-else="scope.row.status=== 2">宸蹭笅鏋�</span> + </template> + </el-table-column> + <el-table-column width="100" prop="createName" label="鍒涘缓浜�"></el-table-column> + <el-table-column width="180" prop="publishTime" label="鍙戝竷鏃堕棿"> + </el-table-column> --> + + </el-dialog> + + + + </el-row> + <!-- <span slot="footer" class="dialog-footer"> + <el-button @click="reporterVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="updateCause">纭� 瀹�</el-button> + </span> --> + </el-dialog> + </div> </template> <script> import { - casueList + casueList, + remove, + removeReport, + leaveReport, + user, + updataReportCasue, + GroupLits, + GroupListBycondition, + pOrUGroupAn, + deleteGroupAn, + detailsGroupAn, + report + //saveSubject } from '@/api/cause' + +import { getImgUrl, getReportById } from '@/api/common' + export default { name: "Entry", data() { return { - casueList: [], - queryInfo: { - title: '', - status: '5', - current: 1, - size: 10 + + //娣诲姞妗堜欢浜哄憳寮圭獥鎺у埗 + addReportVisible: false, + //缇ゅ叕鍛婅缁嗗唴瀹� + detailsGroupAn: [], + // { + // text: '', + // groupId: '', + // id: '', + // ctime: '', + // effectiveStime: '', + // effectiveEtime: '', + // createName: '', + // status: null, + // publishTime: null + // }, + //缇ゅ叕鍛婅鎯呭脊妗� + detailsVisible: false, + //缇ゅ叕鍛婃坊鍔犺〃鍗� + addGroupForm: { + text: '', + status: '', + effectiveStime: '', + effectiveEtime: '', }, - options: [ + //缇ゅ叕鍛婄兢娣诲姞寮规 + addGroupAnVisibel: false, + //缇ゅ叕鍛婃煡璇� + queryInfoGroupAn: { + status: '', + content: '', + groupId: '', + current: 1, + size: 10, + }, + groupAnTotal: null, + //缇ゅ叕鍛婂簭鍙风浉鍏� + current: 1, + size: 10, + //妗堜欢id + causeId: '', + //妗堜欢浜哄憳瀵煎嚭id + exportReportId: '', + //缇ゅ叕鍛婃煡璇㈣繑鍥炲�� + groupAnFrom: [], + //妗堜欢浜哄憳鏌ヨ鍙傛暟 + queryInfoReport: { + causeId: null, + people: '', + phoneNumber: '', + isInGroup: null, + current: 1, + HavaMaterial: null, + size: 10, + }, + auditFrom: { + pic: '', + reporterName: '', + mobile: '', + idcard: '', + cheatTime: '', + amountInvolved: '', + reportDescription: '', + information: '', + reportMaterials: "", + fileList: [], + tmpTime: '', + causeId: null, + }, + auditInfo: {}, + picShow: "", + optionsGroup: [ { - value: '5', + value: null, + label: '鍏ㄩ儴' + }, + { + value: '1', + label: '鏄�' + }, + { + value: '0', + label: '鍚�' + } + ], + optionsMate: [ + { + value: null, label: '鍏ㄩ儴' }, { value: '0', - label: '鏈鏍�' + label: '鏈彁浜�' }, { value: '1', + label: '宸叉彁浜�' + } + ], + groupStatusMate: [ + { + value: '0', + label: '鍚�' + }, + { + value: '1', + label: '鏄�' + } + ], + statusMate: [ + { + value: '', + label: '鍏ㄩ儴' + }, + { + value: '0', + label: '鏈彂甯�' + }, + { + value: '1', + label: '宸插彂甯�' + } + ], + //鎶ユ浜哄憳涓垎椤电殑妗堜欢id + reportCauseId: null, + reportTotal: 0, + reportList: [], + infoAduitDialogVisible: false, + groupAnVisible: false, + addCauseRules: { + number: [{ + required: true, + message: '璇疯緭鍏ユ浠剁紪鍙� ', + trigger: 'blur' + }], + name: [{ + required: true, + message: '璇疯緭鍏ユ浠跺悕绉� ', + trigger: 'blur' + }], + firstTime: [{ + required: true, + message: '璇烽�夋嫨鏈�鏃╂鍙戞椂闂� ', + trigger: 'blur' + }], + status: [{ + required: true, + message: '璇烽�夋嫨妗堜欢鐘舵�� ', + trigger: 'blur' + }], + totalMoney: [{ + required: true, + message: '璇疯緭鍏ラ浼版�婚噾棰� ', + trigger: 'blur' + }], + userId: [{ + required: true, + message: '璐熻矗浜洪�夋嫨 ', + trigger: 'blur' + }], + description: [{ + required: true, + message: '璇疯緭鍏ユ浠舵弿杩� ', + trigger: 'blur' + }] + } + , + reportRules: { + reporterName: [{ + required: true, + message: '璇疯緭鍏ユ姤妗堜汉 ', + trigger: 'blur' + }], + mobile: [{ + required: true, + message: '璇疯緭鍏ユ墜鏈哄彿鐮� ', + trigger: 'blur' + }], + idcard: [{ + required: true, + message: '璇疯緭鍏ヨ韩浠借瘉鍙� ', + trigger: 'blur' + }], + tmpTime: [{ + required: true, + message: '璇疯緭鍏ヨ楠楁椂闂� ', + trigger: 'blur' + }], + amountInvolved: [{ + required: true, + message: '璇疯緭鍏ユ秹妗堥噾棰� ', + trigger: 'blur' + }], + reportDescription: [{ + required: true, + message: '璇疯緭鍏ユ浠舵弿杩� ', + trigger: 'blur' + }], + information: [{ + required: true, + message: '璇疯緭鍏ヨˉ鍏呬俊鎭� ', + trigger: 'blur' + }], + causeId: [{ + required: true, + message: '璇烽�夋嫨涓嬫媺閫夋嫨 ', + trigger: 'change' + }], + }, + fileList: [{ + name: '', + url: '', + data: '' + } + ], + updateReportForm: { + pic: '', + reporterName: '', + mobile: '', + idcard: '', + cheatTime: '', + amountInvolved: '', + reportDescription: '', + information: '', + reportMaterials: "", + ctime: '', + causeId: null, + groupId: null, + }, + //妗堜欢浜哄憳琛ㄦ牸鏁版嵁 + updateReportPrams: { + id: '', + pic:'', + reporterName: '', + mobile: '', + idcard: '', + cheatTime: '', + amountInvolved: '', + reportDescription: '', + information: '', + reportMaterials: "", + ctime: '', + causeId: null, + groupId: null, + fileList: [], + }, + + //妗堜欢琛ㄦ牸鏁版嵁 + causeForm: { + name: '', + number: '', + firstTime: '', + userId: '', + status: '', + description: '', + }, + updataCauseForm: { + id: '', + pic:'', + name: '', + number: '', + firstTime: '', + userName: '', + status: '', + userId: '', + description: '', + }, + casueList: [], + queryInfo: { + cause: '', + status: null, + current: 1, + size: 10 + }, + user: [], + updateUser: [], + options: [ + { + value: null, + label: '鍏ㄩ儴' + }, + { + value: '5', label: '涓嶄簣绔嬫' }, { + value: '0', + label: '绔嬫' + }, + { + value: '1', + label: '鍒濇煡' + }, + { value: '2', - label: '鍙楃悊涓�' + label: '鍙楃悊' }, { value: '3', - label: '宸茬粨妗�' + label: '绉婚�佽捣璇�' }, { value: '4', - label: '宸茬粨妗�' + label: '缁撴' } ], - total: 0, + causeOptions: [ + { + value: '5', + label: '涓嶄簣绔嬫' + }, + { + value: 0, + label: '绔嬫' + }, + { + value: 1, + label: '鍒濇煡' + }, + { + value: 2, + label: '鍙楃悊' + }, + { + value: 3, + label: '绉婚�佽捣璇�' + }, + { + value: 4, + label: '缁撴' + } + ], + total: null, + addAduitDialogVisible: false, + updateAduitDialogVisible: false, + reporterVisible: false, + updateReportVisible: false, + addReportRules: { + reporterName: [{ + required: true, + message: '璇疯緭鍏ユ姤妗堜汉 ', + trigger: 'blur' + }], + mobile: + [{ required: true, message: '璇疯緭鍏ユ墜鏈哄彿鐮� ', trigger: 'blur' }, + { + validator: function (rule, value, callback) { + if (/^1[34578]\d{9}$/.test(value) == false) { + callback(new Error("璇疯緭鍏ユ纭殑鎵嬫満鍙�")); + } else { + callback(); + } + }, trigger: 'blur' + }], + idcard: [{ required: true, message: '璇疯緭鍏ヨ韩浠借瘉ID ', trigger: 'blur' }, + { pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/, message: '浣犵殑韬唤璇佹牸寮忎笉姝g‘' }], + cheatTime: [{ + required: true, + message: '璇疯緭鍏ヨ楠楁椂闂� ', + trigger: 'blur' + }], + amountInvolved: [{ + required: true, + message: '璇疯緭鍏ユ秹妗堥噾棰� ', + trigger: 'blur' + }], + reportDescription: [{ + required: true, + message: '璇疯緭鍏ユ浠舵弿杩� ', + trigger: 'blur' + }], + information: [{ + required: true, + message: '璇疯緭鍏ヨˉ鍏呬俊鎭� ', + trigger: 'blur' + }], + }, + rules: { + text: [{ + required: true, + message: '璇疯緭鍏ュ叕鍛婂唴瀹� ', + trigger: 'blur' + }], + effectiveStime: [{ + required: true, + message: '閫夋嫨鍏憡鏈夋晥鏈� ', + trigger: 'blur' + }], + effectiveEtime: [{ + required: true, + message: '閫夋嫨鍏憡鏈夋晥鏈� ', + trigger: 'blur' + }], + status: [{ + required: true, + message: '璇疯緭鍏ヨ楠楁椂闂� ', + trigger: 'blur' + }] + }, } }, created() { - this.init() + this.init(); + this.userList(); + }, - methods: { + methods: + { + expExcel(){ + + }, + addAduitAnJian(){ + let date=(new Date()).valueOf();//鑾峰彇鏃堕棿鎴� + let txt = '1234567890';//鐢熸垚鐨勯殢鏈烘満鍣ㄧ爜 + let len =13;//鏈哄櫒鐮佹湁澶氬皯浣� + let pwd = '';//瀹氫箟绌哄彉閲忕敤鏉ユ帴鏀舵満鍣ㄧ爜 + for (let i = 0; i < len; i++) { + pwd += txt.charAt(Math.floor(Math.random() * txt.length));//寰幆鏈哄櫒鐮佷綅鏁伴殢鏈哄~鍏� + } + let id= date+pwd; + this.causeForm.number=id; + this.addAduitDialogVisible=true; + }, + + //鍏抽棴妗堜欢鐨勬浠朵汉鍛樻坊鍔� + addReportVisibleClose() { + this.addReportVisible = false; + }, + //妗堜欢娣诲姞 + addVisibelReport() { + this.addReportVisible = true; + }, + + detailsVisibleclose() { + this.detailsVisible = false; + }, + //缇ゅ叕鍛婅鎯� + details(val) { + + detailsGroupAn(val).then(res => + this.detailsGroupAn = res + ); + console.log(this.detailsGroupAn); + this.detailsVisible = true; + }, + //缇ゅ叕鍛婂垹闄� + removeGroupAn(val) { + deleteGroupAn(val).then(res => this.$message({ + message: '鎿嶄綔鎴愬姛', + type: 'success' + })); + this.groupAnSearch(); + }, + //鍒嗛〉 + pageGroupAn(val) { + this.queryInfoGroupAn.current = val; + this.groupAnSearch(); + }, + //鍙戝竷鍜屼笅鏋� + punlishOrUnshelve(val, val2) { + pOrUGroupAn(val, val2).then(res => { + this.$message({ + message: '鎿嶄綔鎴愬姛', + type: 'success' + }); + this.groupAnSearch(); + }) + }, + //鎵撳紑寮规 + openGroupAn() { this.addGroupAnVisibel = true; }, + //娣诲姞缇ゅ叕鍛� + addGroupAn() { + this.$refs.addGroupForm.validate(async (vaild) => { + if (!vaild) return this.$message.error('杈撳叆鏈夎') + let from = null; + from = this.addGroupForm; + const data = from; + this.$http.post('/api/announcement/add?groupId=' + this.queryInfoGroupAn.groupId, + data + ).then(res => { + this.$message({ + message: '娣诲姞鎴愬姛', + type: 'success' + }); + this.addGroupForm = {} + this.addGroupAnVisibel = false; + this.groupAnSearch(); + }); + }) + }, + //琛屼负 缇ゅ叕鍛� + addGroupAnClose() { + this.addGroupAnVisibel = false; + }, + groupAnVisibleClose() { + this.groupAnVisible = false + }, + //缇ゅ叕鍛婃煡璇� + groupAnSearch() { + let params = null; + params = this.queryInfoGroupAn; + GroupListBycondition(params).then(res => { + this.queryInfoGroupAn.current = res.current; + this.queryInfoGroupAn.size = res.size; + this.groupAnFrom = res.records; + this.current = res.current; + this.size = res.size; + this.groupAnTotal = res.total; + }) + }, + //缇ゅ叕鍛� + //鎵撳紑 缇ゅ叕鍛婂脊绐� + groupAn(val) { + this.groupAnVisible = true; + this.getGroupAn(val); + }, + getGroupAn(val) { + let params = null; + this.queryInfoGroupAn.groupId = val; + params = this.queryInfoGroupAn; + GroupLits(params).then(res => { + this.queryInfoGroupAn.current = res.current; + this.queryInfoGroupAn.size = res.size; + this.groupAnFrom = res.records; + this.current = res.current; + this.size = res.size; + this.groupAnTotal = res.total; + }) + }, + //妗堜欢浜哄憳 + //瀵煎嚭鏂囦欢 + exportExcel() { + this.$http.post('/api//cause/exp?causeId=' + this.exportReportId, {}, { responseType: 'blob' }) + .then(res => { + const fileName = decodeURI(res.headers['content-disposition'].split(';')[1].split('=')[1]) + const blob = new Blob([res.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }) + const elink = document.createElement('a') + elink.download = fileName + elink.href = URL.createObjectURL(blob) + document.body.appendChild(elink) + elink.click() + document.body.removeChild(elink) + + }) + + }, + + //妗堜欢浜哄憳缂栬緫琛ㄥ崟鎻愪氦 + updateReportInCasue() { + this.updateReportPrams.reporterName = this.updateReportForm.reporterName + this.updateReportPrams.mobile = this.updateReportForm.mobile + this.updateReportPrams.idcard = this.updateReportForm.idcard + this.updateReportPrams.cheatTime = this.updateReportForm.cheatTime + this.updateReportPrams.amountInvolved = this.updateReportForm.amountInvolved + this.updateReportPrams.reportDescription = this.updateReportForm.reportDescription + this.updateReportPrams.information = this.updateReportForm.information + this.updateReportPrams.reportMaterials = this.updateReportForm.reportMaterials + this.updateReportPrams.ctime = this.updateReportForm.ctime + this.updateReportPrams.causeId = this.updateReportForm.causeId + this.updateReportPrams.groupId = this.updateReportForm.groupId + this.updateReportPrams.id = this.updateReportForm.id + this.updateReportPrams.reportMaterials = this.updateReportPrams.fileList.map(i => i.data).join(',') + + this.updateReportPrams.pic=this.updateReportForm.pic + let form = null; + form = this.updateReportPrams; + const data = form; + updataReportCasue(data).then( + res => { + this.$message({ + message: '淇敼鎴愬姛', + type: 'success' + }); + this.searchByCondition(); + } + ); + this.updateReportVisible = false; + }, + + //缂栬緫妗堜欢浜哄憳 + updataReport(val) { + this.updateReportVisible = true; + this.updateReportForm = Object.assign({}, val); + this.causeId = val.causeId; + }, + //琛屼负鍏抽棴淇敼妗堜欢浜哄憳 + updateReportVisibleclose() { + this.updateReportVisible = false; + }, + //鎶ユ浜哄憳 + reporterVisibleBefore(row) { + this.reporterVisible = true; + this.exportReportId = row; + this.reportCauseId = row; + this.get(row); + }, + //鎶ユ浜哄憳鏌ヨ + get(param) { + this.$http.get('/api/cause/getReporterList?causeId=' + param).then(res => { + + this.reportTotal = res.data.data.total + this.reportList = res.data.data.records + this.reportList.forEach(x => { + if (x.pic === '' || x.pic === null) { + x.pic = './logo.jpg'; + } else { + getImgUrl(x.pic).then(res => { + x.pic = res + }) + } + }) + }) + } + , + infoAduitClose() { + this.infoAduitDialogVisible = false + this.$refs.infoAduitForm.resetFields() + }, + //娣诲姞妗堜欢涓殑妗堜欢浜哄憳 + addAduit() { + this.$refs.auditFrom.validate(async (vaild) => { + if (!vaild) return this.$message.error('杈撳叆鏈夎') + this.auditFrom.reportMaterials = this.auditFrom.fileList.map(i => i.data).join(','); + this.auditFrom.causeId = this.reportCauseId; + // console.log(this.reportCauseId); + report(this.auditFrom).then(res => { + this.$message.success('鎻愪氦鎴愬姛') + this.auditFrom = {} + this.addReportVisible = false + this.get(this.reportCauseId) + this.init() + }).catch(err => { + this.addReportVisibleClose() + }) + }) + }, + async getCauseOptions() { + const { data: data } = await this.$http.get('/api/cause/getCauseIdAndName'); + this.causeOptions = data.data; + }, + handleAvatarSuccess(res, file) { + this.auditFrom.pic = res.data + getImgUrl(res.data).then(res => { + this.picShow = res + this.updateReportForm.pic = res + }) + }, + async handleMaterialSuccess(res, file) { + this.auditFrom.fileList.push({ + name: file.name, + url: await getImgUrl(res.data), + data: res.data + }) + }, + + async handleReporterMaterialSuccess(res, file) { + this.updateReportPrams.fileList.push({ + name: file.name, + url: await getImgUrl(res.data), + data: res.data + }) + }, + + //妗堜欢褰曞叆鐩稿叧 + + updateCauseDialogVisible(row) { + this.updateAduitDialogVisible = true; + this.updataCauseForm = Object.assign({}, row); + + // if (this.updataCauseForm.status == 0) { + // this.updataCauseForm.status = '鏈鏍�'; + // }; + // if (this.updataCauseForm.status == 1) { + // this.updataCauseForm.status = '涓嶄簣绔嬫'; + // }; + // if (this.updataCauseForm.status == 2) { + // this.updataCauseForm.status = '鍙楃悊涓�'; + // }; + // if (this.updataCauseForm.status == 3) { + // this.updataCauseForm.status = '宸茬粨妗�'; + // }; + // if (this.updataCauseForm.status == 4) { + // this.updataCauseForm.status = '宸叉挙妗�'; + // }; + }, + addAduitClose() { + this.addAduitDialogVisible = false + }, + updateAduitClose() { + this.updateAduitDialogVisible = false + }, + reporterVisibleClose() { + this.reporterVisible = false + }, + async createCause() { + this.$refs.causeForm.validate(async (vaild) => { + if (!vaild) return this.$message.error('杈撳叆鏈夎') + let form = null; + form = this.causeForm; + const data = form; + this.$http.post('/api/cause/addCause', + data + ).then(res => { + if (res.data.code == 200) { + this.$message({ + type: "success", + message: "娣诲姞鎴愬姛" + }); + this.causeForm = {} + this.addAduitDialogVisible = false; + this.getList(); + } else { + this.$message({ + type: "error", + message: res.data.msg + }) + } + } + ) + }) + }, + + userList() { + user().then( + res => this.user = res + ) + }, + async updateCause() { + let form = null; + form = this.updataCauseForm; + const data = form; + //saveSubject(params); + data.userId = data.userName; + for (let key in this.user) { + if (data.userId == this.user[key].userName) { + data.userId = this.user[key].userId; + } + } + // if (data.status == '鏈鏍�') { + // data.status = 0; + // } + // if (data.status == '涓嶄簣绔嬫') { + // data.status = 1; + // } + // if (data.status == '鍙楃悊涓�') { + // data.status = 2; + // } + // if (data.status == '宸茬粨妗�') { + // data.status = 3; + // } + // if (data.status == '宸叉挙妗�') { + // data.status = 4; + // } + this.$http.put('/api/cause/updateCause?id=' + data.id, + data + ).then(res => { + if (res.data.code == 200) { + this.$message({ + type: "success", + message: "淇敼鎴愬姛" + }); + // if (this.updataCauseForm.status == 0) { + // this.updataCauseForm.status = '鏈鏍�'; + // }; + // if (this.updataCauseForm.status == 1) { + // this.updataCauseForm.status = '涓嶄簣绔嬫'; + // }; + // if (this.updataCauseForm.status == 2) { + // this.updataCauseForm.status = '鍙楃悊涓�'; + // }; + // if (this.updataCauseForm.status == 3) { + // this.updataCauseForm.status = '宸茬粨妗�'; + // }; + // if (this.updataCauseForm.status == 4) { + // this.updataCauseForm.status = '宸叉挙妗�'; + // }; + this.updateAduitDialogVisible = false; + // location.reload(); + this.getList(); + } else { + this.$message({ + type: "error", + message: "琛ㄥ崟涓嶈兘涓虹┖" + }) + } + }) + + }, + respond(res) { + if (res.code == 200) { + this.$message({ + message: '涓婁紶鎴愬姛', + type: 'success' + } + ) + } else { + this.$message({ + message: res.msg, + type: 'error' + }) + } + location.reload(); + }, + //妗堜欢浜哄憳瀵煎叆鎴愬姛鍚� + reporterRespond(res) { + if (res.code == 200) { + this.$message({ + message: '涓婁紶鎴愬姛', + type: 'success' + } + ) + } else { + this.$message({ + message: res.msg, + type: 'error' + }) + } + this.get(this.reportCauseId); + }, + + beforeAvatarUpload(file) { + let Xls = file.name.split('.'); + if (Xls[1] === 'xls' || Xls[1] === 'xlsx') { + return file + } else { + this.$message.error('涓婁紶鏂囦欢鍙兘鏄� xls/xlsx 鏍煎紡!') + return false + } + }, init() { casueList().then( res => { @@ -114,23 +1528,95 @@ ) }, getList() { - this.$http.get('/api/entry/list', { + this.$http.get('/api/cause/getCauseList', { params: this.queryInfo }).then(res => { - this.total = res.data.total - this.list = res.data.list + this.total = res.data.data.total + this.casueList = res.data.data.records }) }, search() { + this.$http.get('/api/cause/getCauseList', { + params: this.queryInfo + }).then( + res => { + this.total = res.data.data.total + this.casueList = res.data.data.records + } + ) + }, + //妗堜欢浜哄憳寮圭獥涓殑鏌ヨ + searchByCondition() { + this.queryInfoReport.causeId = this.reportCauseId; + this.$http.get('/api/cause/getAllReportList', { + params: this.queryInfoReport + }).then( + res => { + this.reportTotal = res.data.data.total + this.reportList = res.data.data.records + this.reportList.forEach(x => { + if (x.pic === '' || x.pic === null) { + x.pic = './logo.jpg'; + } else { + getImgUrl(x.pic).then(res => { + x.pic = res + }) + } + }) + } + ) + + } + , addDialogOpen() { }, - exportExcel() { - }, + handleCurrentChange(val) { this.queryInfo.current = val; this.getList(); }, + pageReport(val) { + this.queryInfoReport.current = val; + this.searchByCondition(); + }, + removeCause(val) { + remove(val).then( + res => { + this.$message({ + message: '鍒犻櫎鎴愬姛', + type: 'success' + }); + this.getList(); + } + ) + }, + + removeReport(val, row) { + removeReport(val).then( + res => { + this.$message({ + message: '鍒犻櫎鎴愬姛', + type: 'success' + }); + this.searchByCondition(); + } + ) + }, + + + leaveReport(val, row, value) { + leaveReport(val, value).then( + res => { + this.$message({ + message: '閫�缇ゆ垚鍔�', + type: 'success' + }); + this.searchByCondition(); + } + ) + }, + } } </script> @@ -143,4 +1629,4 @@ ::v-deep(.el-table thead) { color: #000000; } -</style> \ No newline at end of file +</style> -- Gitblit v1.8.0