| | |
| | | data: data, |
| | | }); |
| | | } |
| | | // 新增或修改删除单一任务 |
| | | // 新增或修改任务 |
| | | export function Editsingletask(data) { |
| | | return request({ |
| | | url: "/smartor/taskcall/insertOrUpdateTask", |
| | | url: "/smartor/tasksingle/insertOrUpdateTask", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | | } |
| | | // 单一任务列表 |
| | | // 删除任务并删除关联的患者服务 |
| | | export function delTaskInfo(data) { |
| | | return request({ |
| | | url: "/smartor/ivrtask/remove/"+id, |
| | | method: "get", |
| | | }); |
| | | } |
| | | // 查询任务列表 |
| | | export function getTasklist(data) { |
| | | return request({ |
| | | url: "/smartor/taskcall/list", |
| | | url: "/smartor/ivrtask/list", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | | } |
| | | // 单一任务详情 |
| | | // 查询任务详情 |
| | | export function getTaskInfo(data) { |
| | | return request({ |
| | | url: "/smartor/taskcall/queryTaskByCondition", |
| | | url: "/smartor/tasksingle/queryTaskByCondition", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | | } |
| | | // 查询门诊出院服务列表 |
| | | export function getTaskservelist(data) { |
| | | return request({ |
| | | url: "/smartor/tasksingle/patItem", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | | } |
| | | // 任务立即执行 |
| | | export function GoheTaskSend(data) { |
| | | return request({ |
| | | url: "/smartor/tasksingle/heTaskSend", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | |
| | | }, |
| | | }, |
| | | ], |
| | | // 任务状态 |
| | | taskstate: (state) => [ |
| | | { |
| | | value: "1", |
| | | label: "问卷调查表", |
| | | raw: { |
| | | cssClass: "", |
| | | listClass: "", |
| | | }, |
| | | }, |
| | | { |
| | | value: "2", |
| | | label: "AI智能语音", |
| | | raw: { |
| | | cssClass: "", |
| | | listClass: "", |
| | | }, |
| | | }, |
| | | { |
| | | value: "3", |
| | | label: "人工电话", |
| | | raw: { |
| | | cssClass: "", |
| | | listClass: "", |
| | | }, |
| | | }, |
| | | |
| | | ], |
| | | // 服务状态 |
| | | serviceState: (state) => [ |
| | | { |
| | | value: "1", |
| | | label: "被领取", |
| | | raw: { |
| | | cssClass: "", |
| | | listClass: "", |
| | | }, |
| | | }, |
| | | { |
| | | value: "2", |
| | | label: "待执行", |
| | | raw: { |
| | | cssClass: "", |
| | | listClass: "", |
| | | }, |
| | | }, |
| | | { |
| | | value: "3", |
| | | label: "已执行", |
| | | raw: { |
| | | cssClass: "", |
| | | listClass: "", |
| | | }, |
| | | }, |
| | | |
| | | ], |
| | | |
| | | // 值类型 |
| | | valuetype: (state) => [ |
| | | { |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="50" align="center" /> |
| | | <el-table-column |
| | | label="序号" |
| | | fixed |
| | | align="center" |
| | | key="userId" |
| | | prop="userId" |
| | | /> |
| | | <el-table-column label="序号" fixed align="center" key="id" prop="id" /> |
| | | <el-table-column |
| | | label="姓名" |
| | | fixed |
| | | align="center" |
| | | key="types" |
| | | prop="types" |
| | | key="sendname" |
| | | prop="sendname" |
| | | /> |
| | | <el-table-column |
| | | label="病历号" |
| | | align="center" |
| | | sortable |
| | | key="userName" |
| | | prop="userName" |
| | | key="medicalRecordNo" |
| | | prop="medicalRecordNo" |
| | | width="120" |
| | | /> |
| | | |
| | | <el-table-column |
| | | label="年龄" |
| | | align="center" |
| | | key="nickName" |
| | | prop="nickName" |
| | | /> |
| | | <el-table-column |
| | | label="床号" |
| | | align="center" |
| | | key="nickName" |
| | | prop="nickName" |
| | | /> |
| | | <el-table-column label="年龄" align="center" key="age" prop="age" /> |
| | | <el-table-column label="性别" align="center" key="sex" prop="sex" /> |
| | | <el-table-column label="床号" align="center" key="badNo" prop="badNo" /> |
| | | <el-table-column |
| | | label="病区" |
| | | align="center" |
| | | key="phonenumber" |
| | | prop="phonenumber" |
| | | key="deptname" |
| | | prop="deptname" |
| | | width="120" |
| | | > |
| | | </el-table-column> |
| | |
| | | <el-table-column |
| | | label="疾病名称" |
| | | align="center" |
| | | key="topicnumber" |
| | | prop="topicnumber" |
| | | key="icdName" |
| | | prop="icdName" |
| | | width="120" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <div>轻度骨裂</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="随访方案" |
| | | label="任务名称" |
| | | align="center" |
| | | key="topicnumberaa" |
| | | prop="topicnumberaa" |
| | | key="taskName" |
| | | prop="taskName" |
| | | width="120" |
| | | /> |
| | | |
| | | <el-table-column |
| | | label="宣教材料" |
| | | label="随访方式(需调整格式)" |
| | | align="center" |
| | | key="topicnumberaa" |
| | | prop="topicnumberaa" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="随访方式" |
| | | align="center" |
| | | key="topicnumberaa" |
| | | prop="topicnumberaa" |
| | | key="serviceform" |
| | | prop="serviceform" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="随访人员" |
| | | align="center" |
| | | key="topicnumberaa" |
| | | prop="topicnumberaa" |
| | | key="operator" |
| | | prop="operator" |
| | | width="120" |
| | | /> |
| | | |
| | |
| | | label="就诊时间" |
| | | sortable |
| | | align="center" |
| | | prop="createTime" |
| | | prop="admindate" |
| | | width="160" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.createTime) }}</span> |
| | | <span>{{ parseTime(scope.row.admindate) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | <!-- <el-table-column |
| | | label="随访时间" |
| | | sortable |
| | | align="center" |
| | |
| | | width="160" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.createTime) }}</span> |
| | | <span v-if="scope.row.sendType != 3">{{ |
| | | parseTime(scope.row.createTime) |
| | | }}</span> |
| | | <span v-else>即刻发送</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column> --> |
| | | <el-table-column |
| | | label="回复时间" |
| | | label="随访时间" |
| | | sortable |
| | | align="center" |
| | | prop="createTime" |
| | | prop="finishtime" |
| | | width="160" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.createTime) }}</span> |
| | | <span>{{ parseTime(scope.row.finishtime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="随访状态" |
| | | fixed="right" |
| | | align="center" |
| | | key="topicnumber" |
| | | prop="topicnumber" |
| | | key="sendstate" |
| | | prop="sendstate" |
| | | width="120" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <div>未完成</div> |
| | | <dict-tag :options="serviceState" :value="scope.row.sendstate" /> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | |
| | | resetUserPwd, |
| | | changeUserStatus, |
| | | } from "@/api/system/user"; |
| | | import { getTaskservelist } from "@/api/AiCentre/index"; |
| | | import Treeselect from "@riophae/vue-treeselect"; |
| | | import store from "@/store"; |
| | | import "@riophae/vue-treeselect/dist/vue-treeselect.css"; |
| | | |
| | | export default { |
| | |
| | | topqueryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | userName: undefined, |
| | | tagid: undefined, |
| | | topic: undefined, |
| | | hospType: 1, |
| | | }, |
| | | propss: { multiple: true }, |
| | | options: [], |
| | |
| | | label: "已停止", |
| | | }, |
| | | ], |
| | | serviceState: [], |
| | | // 表单校验 |
| | | rules: { |
| | | userName: [ |
| | | { required: true, message: "用户名称不能为空", trigger: "blur" }, |
| | | { |
| | | min: 2, |
| | | max: 20, |
| | | message: "用户名称长度必须介于 2 和 20 之间", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | nickName: [ |
| | | { required: true, message: "用户昵称不能为空", trigger: "blur" }, |
| | | ], |
| | | password: [ |
| | | { required: true, message: "用户密码不能为空", trigger: "blur" }, |
| | | { |
| | | min: 5, |
| | | max: 20, |
| | | message: "用户密码长度必须介于 5 和 20 之间", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | email: [ |
| | | { |
| | | type: "email", |
| | | message: "请输入正确的邮箱地址", |
| | | trigger: ["blur", "change"], |
| | | }, |
| | | ], |
| | | phonenumber: [ |
| | | { |
| | | pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, |
| | | message: "请输入正确的手机号码", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | IDnumber: [ |
| | | { |
| | | pattern: |
| | | /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/, |
| | | message: "请输入正确的身份证号码", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | rules: {}, |
| | | }; |
| | | }, |
| | | watch: {}, |
| | | created() { |
| | | this.serviceState = store.getters.serviceState; |
| | | this.getList(); |
| | | this.getConfigKey("sys.user.initPassword").then((response) => { |
| | | this.initPassword = response.msg; |
| | |
| | | }); |
| | | }, |
| | | methods: { |
| | | /** 查询门诊随访列表 */ |
| | | /** 查询门诊随访服务列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | listUser(this.addDateRange(this.topqueryParams, this.dateRange)).then( |
| | | (response) => { |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | } |
| | | ); |
| | | }); |
| | | }, |
| | | // 查看门诊随访详情 |
| | | Referencequestion(row) { |
| | |
| | | label="序号" |
| | | fixed |
| | | align="center" |
| | | key="userId" |
| | | prop="userId" |
| | | key="id" |
| | | prop="id" |
| | | /> |
| | | <el-table-column |
| | | label="姓名" |
| | | fixed |
| | | align="center" |
| | | key="types" |
| | | prop="types" |
| | | key="sendname" |
| | | prop="sendname" |
| | | /> |
| | | |
| | | <el-table-column |
| | | label="病历号" |
| | | align="center" |
| | | sortable |
| | | key="userName" |
| | | prop="userName" |
| | | key="medicalRecordNo" |
| | | prop="medicalRecordNo" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="年龄" |
| | | align="center" |
| | | key="nickName" |
| | | prop="nickName" |
| | | key="age" |
| | | prop="age" |
| | | /> |
| | | <el-table-column |
| | | label="科室" |
| | | align="center" |
| | | key="phonenumber" |
| | | prop="phonenumber" |
| | | key="deptname" |
| | | prop="deptname" |
| | | width="120" |
| | | > |
| | | </el-table-column> |
| | |
| | | <el-table-column |
| | | label="疾病名称" |
| | | align="center" |
| | | key="topicnumber" |
| | | prop="topicnumber" |
| | | key="icdName" |
| | | prop="icdName" |
| | | width="120" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <div>轻度骨裂</div> |
| | | </template> |
| | | |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="随访方案" |
| | | label="任务名称" |
| | | align="center" |
| | | key="topicnumberaa" |
| | | prop="topicnumberaa" |
| | | key="taskName" |
| | | prop="taskName" |
| | | width="120" |
| | | /> |
| | | |
| | | <el-table-column |
| | | label="宣教材料" |
| | | label="随访方式(需调整格式)" |
| | | align="center" |
| | | key="topicnumberaa" |
| | | prop="topicnumberaa" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="随访方式" |
| | | align="center" |
| | | key="topicnumberaa" |
| | | prop="topicnumberaa" |
| | | key="serviceform" |
| | | prop="serviceform" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="随访人员" |
| | | align="center" |
| | | key="topicnumberaa" |
| | | prop="topicnumberaa" |
| | | key="operator" |
| | | prop="operator" |
| | | width="120" |
| | | /> |
| | | |
| | |
| | | label="就诊时间" |
| | | sortable |
| | | align="center" |
| | | prop="createTime" |
| | | prop="admindate" |
| | | width="160" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.createTime) }}</span> |
| | | <span>{{ parseTime(scope.row.admindate) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="随访时间" |
| | | sortable |
| | | align="center" |
| | | prop="createTime" |
| | | prop="finishtime" |
| | | width="160" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.createTime) }}</span> |
| | | <span>{{ parseTime(scope.row.finishtime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="回复时间" |
| | | sortable |
| | | align="center" |
| | | prop="createTime" |
| | | width="160" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.createTime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | |
| | | <el-table-column |
| | | label="随访状态" |
| | | fixed="right" |
| | | align="center" |
| | | key="topicnumber" |
| | | prop="topicnumber" |
| | | key="sendstate" |
| | | prop="sendstate" |
| | | width="120" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <div>未完成</div> |
| | | <dict-tag :options="serviceState" :value="scope.row.sendstate" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | |
| | | <script> |
| | | import { |
| | | listUser, |
| | | getUser, |
| | | delUser, |
| | | addUser, |
| | | updateUser, |
| | | resetUserPwd, |
| | | changeUserStatus, |
| | | } from "@/api/system/user"; |
| | | import { |
| | | getTaskservelist |
| | | } from "@/api/AiCentre/index"; |
| | | import store from "@/store"; |
| | | import Treeselect from "@riophae/vue-treeselect"; |
| | | import "@riophae/vue-treeselect/dist/vue-treeselect.css"; |
| | | |
| | |
| | | topqueryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | userName: undefined, |
| | | tagid: undefined, |
| | | topic: undefined, |
| | | hospType:2 |
| | | |
| | | }, |
| | | propss: { multiple: true }, |
| | | options: [], |
| | |
| | | label: "已停止", |
| | | }, |
| | | ], |
| | | serviceState:[], |
| | | // 表单校验 |
| | | rules: { |
| | | userName: [ |
| | | { required: true, message: "用户名称不能为空", trigger: "blur" }, |
| | | { |
| | | min: 2, |
| | | max: 20, |
| | | message: "用户名称长度必须介于 2 和 20 之间", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | nickName: [ |
| | | { required: true, message: "用户昵称不能为空", trigger: "blur" }, |
| | | ], |
| | | password: [ |
| | | { required: true, message: "用户密码不能为空", trigger: "blur" }, |
| | | { |
| | | min: 5, |
| | | max: 20, |
| | | message: "用户密码长度必须介于 5 和 20 之间", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | email: [ |
| | | { |
| | | type: "email", |
| | | message: "请输入正确的邮箱地址", |
| | | trigger: ["blur", "change"], |
| | | }, |
| | | ], |
| | | phonenumber: [ |
| | | { |
| | | pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, |
| | | message: "请输入正确的手机号码", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | IDnumber: [ |
| | | { |
| | | pattern: |
| | | /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/, |
| | | message: "请输入正确的身份证号码", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | |
| | | }, |
| | | }; |
| | | }, |
| | | watch: {}, |
| | | created() { |
| | | this.serviceState = store.getters.serviceState; |
| | | this.getList(); |
| | | this.getConfigKey("sys.user.initPassword").then((response) => { |
| | | this.initPassword = response.msg; |
| | |
| | | /** 查询门诊随访列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | listUser(this.addDateRange(this.topqueryParams, this.dateRange)).then( |
| | | getTaskservelist(this.topqueryParams).then( |
| | | (response) => { |
| | | this.userList = response.rows; |
| | | this.total = response.total; |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="50" align="center" /> |
| | | <el-table-column |
| | | label="序号" |
| | | fixed |
| | | align="center" |
| | | key="userId" |
| | | prop="userId" |
| | | /> |
| | | <el-table-column label="序号" fixed align="center" key="id" prop="id" /> |
| | | |
| | | <el-table-column |
| | | label="姓名" |
| | | fixed |
| | | align="center" |
| | | key="types" |
| | | prop="types" |
| | | key="sendname" |
| | | prop="sendname" |
| | | /> |
| | | <el-table-column |
| | | label="病历号" |
| | |
| | | prop="userName" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="年龄" |
| | | align="center" |
| | | key="nickName" |
| | | prop="nickName" |
| | | /> |
| | | <el-table-column |
| | | label="床号" |
| | | align="center" |
| | | key="nickName" |
| | | prop="nickName" |
| | | /> |
| | | <el-table-column label="年龄" align="center" key="age" prop="age" /> |
| | | <el-table-column label="床号" align="center" key="badNo" prop="badNo" /> |
| | | <el-table-column |
| | | label="科室/病区" |
| | | align="center" |
| | | key="phonenumber" |
| | | prop="phonenumber" |
| | | key="deptname" |
| | | prop="deptname" |
| | | width="120" |
| | | > |
| | | </el-table-column> |
| | |
| | | <el-table-column |
| | | label="疾病名称" |
| | | align="center" |
| | | key="topicnumber" |
| | | prop="topicnumber" |
| | | key="icdName" |
| | | prop="icdName" |
| | | width="120" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <div>轻度骨裂</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="宣教内容" |
| | | label="任务名称" |
| | | align="center" |
| | | key="topicnumberaa" |
| | | prop="topicnumberaa" |
| | | key="taskName" |
| | | prop="taskName" |
| | | width="120" |
| | | /> |
| | | |
| | | <el-table-column |
| | | label="随访方式(需调整格式)" |
| | | align="center" |
| | | key="serviceform" |
| | | prop="serviceform" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="宣教材料" |
| | | label="随访人员" |
| | | align="center" |
| | | key="topicnumberaa" |
| | | prop="topicnumberaa" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="宣教方式" |
| | | align="center" |
| | | key="topicnumberaa" |
| | | prop="topicnumberaa" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="宣教人员" |
| | | align="center" |
| | | key="topicnumberaa" |
| | | prop="topicnumberaa" |
| | | key="operator" |
| | | prop="operator" |
| | | width="120" |
| | | /> |
| | | |
| | |
| | | label="就诊时间" |
| | | sortable |
| | | align="center" |
| | | prop="createTime" |
| | | prop="admindate" |
| | | width="160" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.createTime) }}</span> |
| | | <span>{{ parseTime(scope.row.admindate) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="宣教时间" |
| | | label="随访时间" |
| | | sortable |
| | | align="center" |
| | | prop="createTime" |
| | | prop="finishtime" |
| | | width="160" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.createTime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="回复时间" |
| | | sortable |
| | | align="center" |
| | | prop="createTime" |
| | | width="160" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.createTime) }}</span> |
| | | <span>{{ parseTime(scope.row.finishtime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="通知状态" |
| | | label="随访状态" |
| | | fixed="right" |
| | | align="center" |
| | | key="topicnumber" |
| | | prop="topicnumber" |
| | | key="sendstate" |
| | | prop="sendstate" |
| | | width="120" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <div>未完成</div> |
| | | <dict-tag :options="serviceState" :value="scope.row.sendstate" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | |
| | | |
| | | <script> |
| | | import { |
| | | listUser, |
| | | getUser, |
| | | delUser, |
| | | addUser, |
| | | updateUser, |
| | | resetUserPwd, |
| | | changeUserStatus, |
| | | } from "@/api/system/user"; |
| | | import { getTaskservelist } from "@/api/AiCentre/index"; |
| | | import store from "@/store"; |
| | | import Treeselect from "@riophae/vue-treeselect"; |
| | | import "@riophae/vue-treeselect/dist/vue-treeselect.css"; |
| | | |
| | |
| | | qystatus: "", |
| | | btstatus: "", |
| | | }, |
| | | // 查询参数 |
| | | topqueryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | userName: undefined, |
| | | tagid: undefined, |
| | | topic: undefined, |
| | | hospType: 2, |
| | | }, |
| | | propss: { multiple: true }, |
| | | options: [], |
| | |
| | | }, |
| | | ], |
| | | // 表单校验 |
| | | rules: { |
| | | userName: [ |
| | | { required: true, message: "用户名称不能为空", trigger: "blur" }, |
| | | { |
| | | min: 2, |
| | | max: 20, |
| | | message: "用户名称长度必须介于 2 和 20 之间", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | nickName: [ |
| | | { required: true, message: "用户昵称不能为空", trigger: "blur" }, |
| | | ], |
| | | password: [ |
| | | { required: true, message: "用户密码不能为空", trigger: "blur" }, |
| | | { |
| | | min: 5, |
| | | max: 20, |
| | | message: "用户密码长度必须介于 5 和 20 之间", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | email: [ |
| | | { |
| | | type: "email", |
| | | message: "请输入正确的邮箱地址", |
| | | trigger: ["blur", "change"], |
| | | }, |
| | | ], |
| | | phonenumber: [ |
| | | { |
| | | pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, |
| | | message: "请输入正确的手机号码", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | IDnumber: [ |
| | | { |
| | | pattern: |
| | | /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/, |
| | | message: "请输入正确的身份证号码", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | rules: {}, |
| | | serviceState: [], |
| | | }; |
| | | }, |
| | | watch: {}, |
| | | created() { |
| | | this.serviceState = store.getters.serviceState; |
| | | this.getList(); |
| | | this.getConfigKey("sys.user.initPassword").then((response) => { |
| | | this.initPassword = response.msg; |
| | |
| | | /** 查询门诊随访列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | listUser(this.addDateRange(this.topqueryParams, this.dateRange)).then( |
| | | (response) => { |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | } |
| | | ); |
| | | }); |
| | | }, |
| | | // 查看门诊随访详情 |
| | | Referencequestion(row) { |
| | |
| | | handleAdd() { |
| | | this.$router.push({ |
| | | path: "/followvisit/particty", |
| | | query: { type: 1 }, |
| | | query: { type: 7 }, |
| | | }); |
| | | }, |
| | | /** 修改按钮操作 */ |
| | |
| | | handleAdd() { |
| | | this.$router.push({ |
| | | path: "/followvisit/particty", |
| | | query: { type: 1 }, |
| | | query: { type: 8 }, |
| | | }); |
| | | }, |
| | | /** 修改按钮操作 */ |
| | |
| | | </div> |
| | | <div class="jic-value"> |
| | | <el-form ref="form" :model="form" label-width="105px"> |
| | | <el-form-item label="模版名称:"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12" |
| | | ><el-form-item label="任务名称"> |
| | | <el-input |
| | | style="width: 220px" |
| | | v-model="form.taskName" |
| | | placeholder="请输入任务名称" |
| | | /> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="12" |
| | | ><el-form-item label="模版名称"> |
| | | <el-input |
| | | style="width: 220px" |
| | | :disabled="true" |
| | | v-model="form.templatename" |
| | | placeholder="请在下列选择" |
| | | /> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | |
| | | <el-form-item label="任务描述"> |
| | | <el-input |
| | | type="textarea" |
| | | v-model="form.taskDesc" |
| | | placeholder="请输入任务描述" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="发送设置:" v-if="currenttype != 2"> |
| | |
| | | v-show="showSearch" |
| | | label-width="98px" |
| | | > |
| | | <el-form-item label="宣教主题" v-if="currenttype == 1"> |
| | | <el-form-item |
| | | label="宣教主题" |
| | | v-if="currenttype == 1 || currenttype == 8" |
| | | > |
| | | <el-input v-model="topqueryParams.name"></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | label="随访名称" |
| | | v-if="currenttype == 2 || currenttype == 3" |
| | | v-if=" |
| | | currenttype == 2 || currenttype == 3 || currenttype == 7 |
| | | " |
| | | > |
| | | <el-input |
| | | v-model="topqueryParams.name" |
| | |
| | | <el-form-item |
| | | label="宣教类型" |
| | | prop="status" |
| | | v-if="currenttype == 1" |
| | | v-if="currenttype == 1 || currenttype == 8" |
| | | > |
| | | <el-select |
| | | v-model="topqueryParams.topic" |
| | |
| | | <el-form-item |
| | | label="随访类型" |
| | | prop="status" |
| | | v-if="currenttype == 2 || currenttype == 3" |
| | | v-if=" |
| | | currenttype == 2 || currenttype == 3 || currenttype == 7 |
| | | " |
| | | > |
| | | <el-select |
| | | v-model="topqueryParams.topic" |
| | |
| | | { label: "宣教形式", width: "", prop: "playType" }, |
| | | { label: "适用方式", width: "", prop: "suitway" }, |
| | | { label: "修改日期", width: "", prop: "uploadTime" }, |
| | | { label: "创建人(缺)", width: "", prop: "update_by" }, |
| | | { label: "创建人(缺)", width: "", prop: "updateBy" }, |
| | | ], |
| | | tableLabelmz: [ |
| | | { label: "随访名称", width: "", prop: "templateName" }, |
| | | { label: "主要内容", width: "", prop: "note" }, |
| | | { label: "修改日期", width: "", prop: "updateTime" }, |
| | | { label: "创建人(缺)", width: "", prop: "update_by" }, |
| | | { label: "创建人(缺)", width: "", prop: "updateBy" }, |
| | | ], |
| | | tableLabelcy: [ |
| | | { label: "随访名称", width: "", prop: "templateName" }, |
| | | { label: "随访计划", width: "", prop: "impTemplate" }, |
| | | { label: "修改日期", width: "", prop: "uploadTime" }, |
| | | { label: "创建人(缺)", width: "", prop: "update_by" }, |
| | | { label: "创建人(缺)", width: "", prop: "updateBy" }, |
| | | ], |
| | | tableLabelfz: [ |
| | | { label: "通知名称", width: "", prop: "templateName" }, |
| | | { label: "通知模版", width: "", prop: "impTemplate" }, |
| | | { label: "修改日期", width: "", prop: "uploadTime" }, |
| | | { label: "创建人(缺)", width: "", prop: "update_by" }, |
| | | { label: "创建人(缺)", width: "", prop: "updateBy" }, |
| | | ], |
| | | tableLabeltj: [ |
| | | { label: "通知名称", width: "", prop: "name" }, |
| | | { label: "通知模版", width: "", prop: "impTemplate" }, |
| | | { label: "修改日期", width: "", prop: "uploadTime" }, |
| | | { label: "创建人(缺)", width: "", prop: "update_by" }, |
| | | { label: "创建人(缺)", width: "", prop: "updateBy" }, |
| | | ], |
| | | tableLabelwj: [ |
| | | { label: "问卷名称", width: "", prop: "name" }, |
| | | { label: "问卷模版", width: "", prop: "impTemplate" }, |
| | | { label: "修改日期", width: "", prop: "uploadTime" }, |
| | | { label: "创建人(缺)", width: "", prop: "update_by" }, |
| | | { label: "创建人(缺)", width: "", prop: "updateBy" }, |
| | | ], |
| | | // 变量 |
| | | tableLabelvariable: [ |
| | |
| | | }; |
| | | this.currenttype = this.$route.query.type; |
| | | console.log(this.currenttype, "1"); |
| | | if (this.currenttype == 1) { |
| | | if (this.currenttype == 1 || this.currenttype == 8) { |
| | | // 医技宣教,普通宣教 |
| | | this.title = "宣教内容列表"; |
| | | this.tableLabel = this.tableLabelxj; |
| | | this.checkboxlist = [ |
| | | "线下", |
| | | "视频", |
| | | "纸质", |
| | | "语音", |
| | | "短信", |
| | | "微信公众号", |
| | | "微信小程序", |
| | | "支付宝", |
| | | "二维码", |
| | | "钉钉", |
| | | "线下(口头宣教、电视宣教、纸质)", |
| | | "线上(短信/钉钉的文本、图文链接)", |
| | | ]; |
| | | getlibrarylist(queryParams).then((response) => { |
| | | this.userList = response.rows; |
| | | this.total = response.total; |
| | | }); |
| | | } else if (this.currenttype == 2) { |
| | | } else if ( |
| | | this.currenttype == 2 || |
| | | this.currenttype == 3 || |
| | | this.currenttype == 7 |
| | | ) { |
| | | // 出院、门诊、专病随访 |
| | | this.title = "随访内容列表"; |
| | | this.tableLabel = this.tableLabelmz; |
| | | this.checkboxlist = ["线下", "纸质", "语音", "短信", "微信公众号"]; |
| | | this.checkboxlist = ["线下", "AI语音外呼", "人工电话"]; |
| | | getFollowuplist(queryParams).then((response) => { |
| | | this.userList = response.rows; |
| | | this.total = response.total; |
| | | }); |
| | | } else if (this.currenttype == 3) { |
| | | this.title = "随访计划列表"; |
| | | this.tableLabel = this.tableLabelcy; |
| | | this.checkboxlist = ["线下", "纸质", "语音", "短信", "微信公众号"]; |
| | | getFollowuplist(queryParams).then((response) => { |
| | | this.userList = response.rows; |
| | | this.total = response.total; |
| | | }); |
| | | } else if (this.currenttype == 4) { |
| | | } else if (this.currenttype == 4 || this.currenttype == 5) { |
| | | // 复诊、体检通知 |
| | | this.title = "通知内容列表"; |
| | | this.tableLabel = this.tableLabelfz; |
| | | this.checkboxlist = ["语音", "短信", "微信公众号"]; |
| | | getFollowuplist(queryParams).then((response) => { |
| | | this.userList = response.rows; |
| | | this.total = response.total; |
| | | }); |
| | | } else if (this.currenttype == 5) { |
| | | this.title = "通知内容列表"; |
| | | this.tableLabel = this.tableLabeltj; |
| | | this.checkboxlist = ["纸质", "语音", "短信", "微信公众号"]; |
| | | this.checkboxlist = ["线下", "AI语音外呼", "人工电话", "短信"]; |
| | | getFollowuplist(queryParams).then((response) => { |
| | | this.userList = response.rows; |
| | | this.total = response.total; |
| | |
| | | this.title = "问卷内容列表"; |
| | | this.tableLabel = this.tableLabelwj; |
| | | this.checkboxlist = [ |
| | | "线下", |
| | | "视频", |
| | | "纸质", |
| | | "语音", |
| | | "短信", |
| | | "微信公众号", |
| | | "微信小程序", |
| | | "钉钉", |
| | | "线下(纸质)", |
| | | "线上(短信/钉钉的文本、问卷链接)", |
| | | ]; |
| | | getQtemplatelist(queryParams).then((response) => { |
| | | this.userList = response.rows; |
| | |
| | | // 保存 |
| | | submitForm(formName) { |
| | | this.form.serviceform = this.checkList.join(","); |
| | | this.form.type = this.currenttype; |
| | | const filteredArray = this.variableList.filter( |
| | | (item) => |
| | | item.name !== "姓名" && item.name !== "电话" && item.name !== "地址" |
| | |
| | | this.$router.go(-1); |
| | | } |
| | | }); |
| | | // 提交 |
| | | // this.$refs[formName].validate((valid, object) => { |
| | | // if (valid) { |
| | | // alert("submit!"); |
| | | // } else { |
| | | // console.log("error submit!!", object); |
| | | // return false; |
| | | // } |
| | | // }); |
| | | }, |
| | | // ----------------------表格子组件事件 |
| | | // 选择模版 |
| | | selectfn(row, type) { |
| | | console.log(row); |
| | | console.log(type); |
| | | // 模版情况下获取模版信息 |
| | | if (type == 1) { |
| | | if ( |
| | | this.currenttype == 2 || |
| | | this.currenttype == 4 || |
| | | this.currenttype == 3 |
| | | this.currenttype == 3 || |
| | | currenttype == 5 || |
| | | currenttype == 7 |
| | | ) { |
| | | this.form.templatename = row.templateName; |
| | | this.form.templateid = row.id; |
| | |
| | | } |
| | | this.form.sendTimeslot = combinedData; |
| | | // 展示数据临时存储日期、早、中、晚 |
| | | console.log(11); |
| | | console.log(this.time2, "this.time2"); |
| | | this.form.sendlimitabegin = this.daytime.join(","); |
| | | this.form.sendlimitaend = this.time1.join(","); |
| | | this.form.sendlimitnbegin = this.time2.join(","); |
| | | this.form.sendlimitnend = this.time3.join(","); |
| | | if (this.time1) this.form.sendlimitaend = this.time1.join(","); |
| | | if (this.time2) this.form.sendlimitnbegin = this.time2.join(","); |
| | | if (this.time3) this.form.sendlimitnend = this.time3.join(","); |
| | | console.log(combinedData, "combinedData"); |
| | | }, |
| | | }, |
| | |
| | | font-size: 24px; |
| | | } |
| | | } |
| | | ::v-deep.el-input.is-disabled .el-input__inner { |
| | | background-color: #f5f7fa; |
| | | border-color: #dfe4ed; |
| | | color: rgb(253, 66, 66); |
| | | cursor: not-allowed; |
| | | } |
| | | ::v-deep.el-checkbox-group { |
| | | span { |
| | | font-size: 24px; |