From 847a7773ef1a8ad418c6934d35b5f205a97c04d0 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期六, 06 十二月 2025 17:03:24 +0800
Subject: [PATCH] fix:在任务状态更新时,需要更新日志到旧系统
---
ruoyi-ui/src/views/system/dept/index.vue | 216 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 216 insertions(+), 0 deletions(-)
diff --git a/ruoyi-ui/src/views/system/dept/index.vue b/ruoyi-ui/src/views/system/dept/index.vue
index 258e90e..e2693e2 100644
--- a/ruoyi-ui/src/views/system/dept/index.vue
+++ b/ruoyi-ui/src/views/system/dept/index.vue
@@ -64,6 +64,18 @@
<span v-else style="color: #909399;">-</span>
</template>
</el-table-column>
+ <el-table-column prop="serviceOrderClass" label="鏈嶅姟鍗曠紪鐮�" width="120" align="center">
+ <template slot-scope="scope">
+ <el-tag v-if="scope.row.serviceOrderClass" type="success" size="mini">{{ scope.row.serviceOrderClass }}</el-tag>
+ <span v-else style="color: #909399;">-</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="dispatchOrderClass" label="璋冨害鍗曠紪鐮�" width="120" align="center">
+ <template slot-scope="scope">
+ <el-tag v-if="scope.row.dispatchOrderClass" type="warning" size="mini">{{ scope.row.dispatchOrderClass }}</el-tag>
+ <span v-else style="color: #909399;">-</span>
+ </template>
+ </el-table-column>
<el-table-column prop="orderNum" label="鎺掑簭" width="150"></el-table-column>
<el-table-column prop="status" label="鐘舵��" width="100">
<template slot-scope="scope">
@@ -92,6 +104,13 @@
v-hasPermi="['system:dept:add']"
>鏂板</el-button>
<el-button
+ size="mini"
+ type="text"
+ icon="el-icon-location"
+ @click="handleManageRegion(scope.row)"
+ v-hasPermi="['system:dept:edit']"
+ >绠$悊鍖哄煙</el-button>
+ <el-button
v-if="scope.row.parentId != 0"
size="mini"
type="text"
@@ -102,6 +121,92 @@
</template>
</el-table-column>
</el-table>
+
+ <!-- 绠$悊鍖哄煙瀵硅瘽妗� -->
+ <el-dialog title="绠$悊鍖哄煙" :visible.sync="regionDialogVisible" width="900px" append-to-body>
+ <div style="margin-bottom: 10px;">
+ <el-button type="primary" icon="el-icon-plus" size="small" @click="handleAddRegion">鏂板鍖哄煙</el-button>
+ </div>
+
+ <el-table :data="regionList" border>
+ <el-table-column label="鍖哄煙绫诲瀷" align="center" width="120">
+ <template slot-scope="scope">
+ <el-tag v-if="scope.row.regionType === 'AREA'" type="success">鍦板煙鑼冨洿</el-tag>
+ <el-tag v-else-if="scope.row.regionType === 'HOSPITAL'" type="primary">鎸囧畾鍖婚櫌</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column label="鐪佷唤" prop="province" align="center" width="100" />
+ <el-table-column label="鍩庡競" prop="city" align="center" width="100" />
+ <el-table-column label="鍘�/鍖�" prop="area" align="center" width="100" />
+ <el-table-column label="璇︾粏鍦板潃" prop="address" align="center" show-overflow-tooltip />
+ <el-table-column label="鎸囧畾鍖婚櫌" prop="hospitalName" align="center" show-overflow-tooltip />
+ <el-table-column label="鐘舵��" align="center" width="80">
+ <template slot-scope="scope">
+ <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
+ </template>
+ </el-table-column>
+ <el-table-column label="鎿嶄綔" align="center" width="150">
+ <template slot-scope="scope">
+ <el-button size="mini" type="text" icon="el-icon-edit" @click="handleEditRegion(scope.row)">缂栬緫</el-button>
+ <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDeleteRegion(scope.row)">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="regionDialogVisible = false">鍏� 闂�</el-button>
+ </div>
+ </el-dialog>
+
+ <!-- 娣诲姞鎴栦慨鏀瑰尯鍩熷璇濇 -->
+ <el-dialog :title="regionFormTitle" :visible.sync="regionFormVisible" width="600px" append-to-body>
+ <el-form ref="regionForm" :model="regionForm" :rules="regionRules" label-width="100px">
+ <el-form-item label="鍖哄煙绫诲瀷" prop="regionType">
+ <el-radio-group v-model="regionForm.regionType" @change="handleRegionTypeChange">
+ <el-radio label="AREA">鍦板煙鑼冨洿</el-radio>
+ <el-radio label="HOSPITAL">鎸囧畾鍖婚櫌</el-radio>
+ </el-radio-group>
+ </el-form-item>
+
+ <!-- 鍦板煙鑼冨洿閰嶇疆 -->
+ <div v-if="regionForm.regionType === 'AREA'">
+ <el-form-item label="鐪佷唤" prop="province">
+ <el-input v-model="regionForm.province" placeholder="璇疯緭鍏ョ渷浠斤紝濡傦細骞夸笢鐪�" />
+ </el-form-item>
+ <el-form-item label="鍩庡競" prop="city">
+ <el-input v-model="regionForm.city" placeholder="璇疯緭鍏ュ煄甯傦紝濡傦細娣卞湷甯�" />
+ </el-form-item>
+ <el-form-item label="鍘�/鍖�" prop="area">
+ <el-input v-model="regionForm.area" placeholder="璇疯緭鍏ュ幙/鍖猴紝濡傦細鍗楀北鍖�" />
+ </el-form-item>
+ <el-form-item label="璇︾粏鍦板潃" prop="address">
+ <el-input v-model="regionForm.address" type="textarea" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�鎴栧叧閿瘝" :rows="3" />
+ </el-form-item>
+ </div>
+
+ <!-- 鎸囧畾鍖婚櫌閰嶇疆 -->
+ <div v-if="regionForm.regionType === 'HOSPITAL'">
+ <el-form-item label="鍖婚櫌鍚嶇О" prop="hospitalName">
+ <el-input v-model="regionForm.hospitalName" placeholder="璇疯緭鍏ュ尰闄㈠悕绉版垨鍏抽敭璇�" />
+ </el-form-item>
+ </div>
+
+ <el-form-item label="鐘舵��" prop="status">
+ <el-radio-group v-model="regionForm.status">
+ <el-radio label="0">姝e父</el-radio>
+ <el-radio label="1">鍋滅敤</el-radio>
+ </el-radio-group>
+ </el-form-item>
+
+ <el-form-item label="澶囨敞" prop="remark">
+ <el-input v-model="regionForm.remark" type="textarea" placeholder="璇疯緭鍏ュ娉�" :rows="2" />
+ </el-form-item>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="submitRegionForm">纭� 瀹�</el-button>
+ <el-button @click="regionFormVisible = false">鍙� 娑�</el-button>
+ </div>
+ </el-dialog>
<!-- 娣诲姞鎴栦慨鏀归儴闂ㄥ璇濇 -->
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
@@ -129,6 +234,18 @@
<el-col :span="12">
<el-form-item label="SQL Server閮ㄩ棬ID" prop="departmentId">
<el-input v-model="form.departmentId" placeholder="SQL Server涓殑閮ㄩ棬ID" :disabled="true" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="鏈嶅姟鍗曠紪鐮�" prop="serviceOrderClass">
+ <el-input v-model="form.serviceOrderClass" placeholder="璇疯緭鍏ユ湇鍔″崟缂栫爜" maxlength="20" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="璋冨害鍗曠紪鐮�" prop="dispatchOrderClass">
+ <el-input v-model="form.dispatchOrderClass" placeholder="璇疯緭鍏ヨ皟搴﹀崟缂栫爜" maxlength="20" />
</el-form-item>
</el-col>
</el-row>
@@ -173,6 +290,7 @@
<script>
import { listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild } from "@/api/system/dept";
+import { listDeptRegion, addDeptRegion, updateDeptRegion, delDeptRegion } from "@/api/system/deptRegion";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -207,6 +325,21 @@
},
// 琛ㄥ崟鍙傛暟
form: {},
+ // 鍖哄煙绠$悊鐩稿叧
+ regionDialogVisible: false,
+ currentDept: null,
+ regionList: [],
+ regionFormVisible: false,
+ regionFormTitle: '',
+ regionForm: {},
+ regionRules: {
+ regionType: [
+ { required: true, message: "鍖哄煙绫诲瀷涓嶈兘涓虹┖", trigger: "change" }
+ ],
+ status: [
+ { required: true, message: "鐘舵�佷笉鑳戒负绌�", trigger: "change" }
+ ]
+ },
// 琛ㄥ崟鏍¢獙
rules: {
parentId: [
@@ -272,6 +405,8 @@
parentId: undefined,
deptName: undefined,
departmentId: undefined,
+ serviceOrderClass: undefined,
+ dispatchOrderClass: undefined,
orderNum: undefined,
leader: undefined,
phone: undefined,
@@ -371,6 +506,87 @@
this.getList();
this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
}).catch(() => {});
+ },
+ /** 绠$悊鍖哄煙鎸夐挳鎿嶄綔 */
+ handleManageRegion(row) {
+ this.currentDept = row;
+ this.regionDialogVisible = true;
+ this.loadRegionList();
+ },
+ /** 鍔犺浇鍖哄煙鍒楄〃 */
+ loadRegionList() {
+ if (!this.currentDept) return;
+ listDeptRegion(this.currentDept.deptId).then(response => {
+ this.regionList = response.data;
+ });
+ },
+ /** 鏂板鍖哄煙 */
+ handleAddRegion() {
+ this.resetRegionForm();
+ this.regionFormTitle = "鏂板鍖哄煙";
+ this.regionFormVisible = true;
+ },
+ /** 缂栬緫鍖哄煙 */
+ handleEditRegion(row) {
+ this.regionForm = { ...row };
+ this.regionFormTitle = "缂栬緫鍖哄煙";
+ this.regionFormVisible = true;
+ },
+ /** 鍒犻櫎鍖哄煙 */
+ handleDeleteRegion(row) {
+ this.$modal.confirm('鏄惁纭鍒犻櫎璇ュ尯鍩熼厤缃紵').then(() => {
+ return delDeptRegion(row.regionId);
+ }).then(() => {
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ this.loadRegionList();
+ }).catch(() => {});
+ },
+ /** 閲嶇疆鍖哄煙琛ㄥ崟 */
+ resetRegionForm() {
+ this.regionForm = {
+ regionId: undefined,
+ deptId: this.currentDept.deptId,
+ regionType: 'AREA',
+ province: '',
+ city: '',
+ area: '',
+ address: '',
+ hospitalName: '',
+ status: '0',
+ remark: ''
+ };
+ this.resetForm("regionForm");
+ },
+ /** 鍖哄煙绫诲瀷鍒囨崲 */
+ handleRegionTypeChange(value) {
+ if (value === 'AREA') {
+ this.regionForm.hospitalName = '';
+ } else if (value === 'HOSPITAL') {
+ this.regionForm.province = '';
+ this.regionForm.city = '';
+ this.regionForm.area = '';
+ this.regionForm.address = '';
+ }
+ },
+ /** 鎻愪氦鍖哄煙琛ㄥ崟 */
+ submitRegionForm() {
+ this.$refs["regionForm"].validate(valid => {
+ if (valid) {
+ if (this.regionForm.regionId) {
+ updateDeptRegion(this.regionForm).then(response => {
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ this.regionFormVisible = false;
+ this.loadRegionList();
+ });
+ } else {
+ addDeptRegion(this.regionForm).then(response => {
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.regionFormVisible = false;
+ this.loadRegionList();
+ });
+ }
+ }
+ });
}
}
};
--
Gitblit v1.9.1