修复工单内容格式与财务页面接口契约
This commit is contained in:
1 parent
90989f8f8a
commit
d330ad01cc
8 files changed
+551
-149
No files matched your search
@@ -1,8 +1,7 @@
|
||||
<script>
|
||||
/**
|
||||
* 创建工单:加载类型/部门及可选实例,上传附件后提交标题、富文本内容和关联实例;选项未就绪或附件仍上传时不提交。
|
||||
* 创建工单:加载实际部门及可选实例,上传附件后提交标题、纯文本内容和关联实例;选项未就绪或附件仍上传时不提交。
|
||||
*/
|
||||
import "~/assets/styles/RichTextEditor.NkmgPT5m.css";
|
||||
import "~/assets/styles/create.gX6gpD00.css";
|
||||
import { toDisplayString } from "vue";
|
||||
import { renderList } from "vue";
|
||||
@@ -32,8 +31,7 @@ import message from "openvue/message";
|
||||
import radiobutton from "openvue/radiobutton";
|
||||
import inputtext from "openvue/inputtext";
|
||||
import { n as product_name_n } from "~/lib/product-name.js";
|
||||
import select from "openvue/select";
|
||||
import RichTextEditor from "~/components/RichTextEditor.vue";
|
||||
import textarea from "openvue/textarea";
|
||||
import TicketNotice from "~/components/TicketNotice.vue";
|
||||
import chip from "openvue/chip";
|
||||
import multiselect from "openvue/multiselect";
|
||||
@@ -56,10 +54,6 @@ var le = {
|
||||
w = {
|
||||
class: `field`,
|
||||
},
|
||||
T = {
|
||||
key: 2,
|
||||
class: `field`,
|
||||
},
|
||||
E = {
|
||||
class: `field`,
|
||||
},
|
||||
@@ -110,12 +104,10 @@ var le = {
|
||||
let b = useApi(),
|
||||
z = useRouter(),
|
||||
B = ref([]),
|
||||
V = ref([]),
|
||||
H = ref([]),
|
||||
U = reactive({
|
||||
title: ``,
|
||||
ticket_type_id: null,
|
||||
admin_role_id: null,
|
||||
host_ids: [],
|
||||
content: ``,
|
||||
}),
|
||||
@@ -172,17 +164,14 @@ var le = {
|
||||
function ge(e) {
|
||||
W.value || X.value.splice(e, 1);
|
||||
}
|
||||
// 类型/部门加载成功后再开放提交;实例可选列表分页读取,最多 100 页,实例查询失败不阻止无关联工单创建。
|
||||
// 后端以 ticket_type_id 决定部门;实例查询失败不阻止无关联工单创建。
|
||||
async function Q() {
|
||||
if (isCurrent() && !K.value) {
|
||||
((K.value = !0), (q.value = !1), (G.value = ``));
|
||||
try {
|
||||
let [e, t] = await Promise.all([
|
||||
b.get(`/ticket/type`),
|
||||
b.get(`/ticket/department`),
|
||||
]);
|
||||
let e = await b.get(`/ticket/type`);
|
||||
if (!isCurrent()) return;
|
||||
((B.value = e.list ?? []), (V.value = t.list ?? []));
|
||||
B.value = e.list ?? [];
|
||||
try {
|
||||
let e = [],
|
||||
t = 1,
|
||||
@@ -203,9 +192,7 @@ var le = {
|
||||
if (!isCurrent()) return;
|
||||
H.value = [];
|
||||
}
|
||||
((U.ticket_type_id = B.value[0]?.id ?? null),
|
||||
(U.admin_role_id = V.value[0]?.id ?? null),
|
||||
(q.value = !0));
|
||||
((U.ticket_type_id = B.value[0]?.id ?? null), (q.value = !0));
|
||||
} catch (e) {
|
||||
if (!isCurrent()) return;
|
||||
G.value =
|
||||
@@ -230,9 +217,8 @@ var le = {
|
||||
try {
|
||||
let e = await b.post(`/ticket`, {
|
||||
title: U.title.trim(),
|
||||
content: U.content.trim(),
|
||||
content: U.content,
|
||||
ticket_type_id: U.ticket_type_id,
|
||||
admin_role_id: U.admin_role_id,
|
||||
host_ids: U.host_ids,
|
||||
attachment: X.value.map((e) => e.save_name),
|
||||
});
|
||||
@@ -248,16 +234,15 @@ var le = {
|
||||
}
|
||||
return (
|
||||
onMounted(Q),
|
||||
// 类型/部门选项就绪且附件上传完成后才可创建;富文本编辑器与本地附件草稿共同组成提交内容。
|
||||
// 部门选项就绪且附件上传完成后才可创建;正文按客户纯文本契约原样提交。
|
||||
(n, i) => {
|
||||
let s = TicketNotice,
|
||||
c = button,
|
||||
m = radiobutton,
|
||||
_ = inputtext,
|
||||
y = select,
|
||||
b = chip,
|
||||
z = multiselect,
|
||||
J = RichTextEditor,
|
||||
J = textarea,
|
||||
Y = message,
|
||||
_e = NuxtLink;
|
||||
return (
|
||||
@@ -303,7 +288,7 @@ var le = {
|
||||
(i[5] ||= createElementVNode(
|
||||
`legend`,
|
||||
null,
|
||||
`工单类型`,
|
||||
`工单部门`,
|
||||
-1,
|
||||
)),
|
||||
(openBlock(!0),
|
||||
@@ -377,36 +362,6 @@ var le = {
|
||||
[`modelValue`],
|
||||
),
|
||||
]),
|
||||
unref(V).length > 1
|
||||
? (openBlock(),
|
||||
createElementBlock(`div`, T, [
|
||||
(i[7] ||= createElementVNode(
|
||||
`label`,
|
||||
{
|
||||
for: `department`,
|
||||
},
|
||||
`服务部门`,
|
||||
-1,
|
||||
)),
|
||||
createVNode(
|
||||
y,
|
||||
{
|
||||
"input-id": `department`,
|
||||
modelValue: unref(U).admin_role_id,
|
||||
"onUpdate:modelValue": (i[2] ||= (e) =>
|
||||
(unref(U).admin_role_id = e)),
|
||||
options: unref(V),
|
||||
optionLabel: `name`,
|
||||
optionValue: `id`,
|
||||
disabled: !unref(q),
|
||||
fluid: ``,
|
||||
},
|
||||
null,
|
||||
8,
|
||||
[`modelValue`, `options`, `disabled`],
|
||||
),
|
||||
]))
|
||||
: createCommentVNode(``, !0),
|
||||
createElementVNode(`div`, E, [
|
||||
(i[8] ||= createElementVNode(
|
||||
`label`,
|
||||
@@ -517,7 +472,9 @@ var le = {
|
||||
modelValue: unref(U).content,
|
||||
"onUpdate:modelValue": (i[4] ||= (e) =>
|
||||
(unref(U).content = e)),
|
||||
label: `工单内容`,
|
||||
rows: 8,
|
||||
autoResize: true,
|
||||
fluid: true,
|
||||
placeholder: `请描述问题、复现步骤和报错信息`,
|
||||
disabled: unref(W),
|
||||
},
|
||||
|
||||
Reference in new issue
Block a user